我發現了一段代碼,我真的不明白。它基本上是這樣的:指數numpy數組與pd.Series的布爾值
array = np.ones((5, 4))*np.nan
s1 = pd.Series([1,4,0,4,5], index=[0,1,2,3,4])
I = s1 == 4
print(I)
0 False
1 True
2 False
3 True
4 False
dtype: bool
我真的能理解這部分,它在其中4是指標返回布爾的pd.Series與True
。現在,筆者採用I
索引array
:
array[I,0] = 3
array[I,1] = 7
array[I,2] = 2
array[I,3] = 5
print(array)
[[ 3. 7. 2. 5.]
[ 3. 7. 2. 5.]
[ nan nan nan nan]
[ nan nan nan nan]
[ nan nan nan nan]]
新array
是沒有意義的,我想,而不是返回:
[[ nan nan nan nan]
[ 3. 7. 2. 5.]
[ nan nan nan nan]
[ 3. 7. 2. 5.]
[ nan nan nan nan]]
有人能解釋這裏發生了什麼,以及如何我可以改變上面的代碼來返回我需要的東西?
現在完全合理,沒有意識到這種差異!十分感謝你! –