[英]Assigning values to a position in a numpy array not modifying the array
我在使用數組時如何獲得精確值? 為什么結果是數組([0,0,0,0,0,0,0,0,0])但不是0.7?
overlap= np.array([0]*10)
tempi = np.zeros(10)
for i in range(10):
for j in range(10):
tempi[j] = 0.7;
overlap[i] = max(tempi)
print(max(tempi))
overlap
overlap
(隱式)聲明為整數數組。 當您將浮點數分配給整數數組中的位置時,它們會被截斷(隱式強制轉換為整數)。
什么你想要做的,就是聲明overlap
有一個dtype
的float
-
overlap = np.array([0] * 10, dtype=np.float)
要么,
overlap = np.array([0.] * 10)
再次運行,你得到你期望的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.