給定這個陣列:
[[5 0 3 3]
[7 9 3 5]
[2 4 7 6]]
np.count_nonzero(x < 6)結果是8怎么辦?
{5, 3, 3, 3, 5, 2, 4}- 這些是小于 6 的非零值,它們的計數為 7。
np.count_nonzero(x > 6)回傳 3。我在下面找到 3 個大于 6 的值:
{7,9,7}
陣列中只有 10 個值不是 6 或 0,因此各個計數加起來不等于 10。8 3 = 11。
uj5u.com熱心網友回復:
因為x < 6不等于x,而是將每個元素與 進行比較6。
import numpy as np
x = np.array([[5,0,3,3], [7,9,3,5],[2,4,7,6]])
print(x < 6)
輸出:
array([[ True, True, True, True],
[False, False, True, True],
[ True, True, False, False]])
并且np.count_nonzero()相當于計算輸出中的非False(或True)元素,即:
np.count_nonzero(x < 6)
# 8
np.sum(x < 6)
#8
對于最后一部分,為什么它們不加起來11是因為最后一個元素是6. 所以:
np.count_nonzero(x < 6) np.count_nonzero(x > 6) np.count_nonzero(x == 6)
# 12
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/441546.html
上一篇:將曲線擬合到某些資料點
