我用下面的代碼掙扎:NumPy的錯誤矢量化轉換輸出爲整數
import numpy as np
e = np.linspace(0, 4, 10)
def g(x):
if x > 1:
return x
else:
return 0
vg = np.vectorize(g)
print(vg(e))
的結果是這樣的:
[0 0 0 1 1 2 2 3 3 4]
我也查了D型。似乎vectorize函數將float64中的類型轉換爲int64!
當我將0更改爲0.0時,問題就解決了,我得到了float64。 vectorize將輸出更改爲int64函數是否正確? – amiragha