我目前在資料框中有一列,df[Stress]. 我想回傳列中存盤的值小于變數的行的位置load_drop,但僅在列的特定范圍內,由first和表示last。我想我可以用它np.where來查找位置,但到目前為止,當我運行代碼時,我回傳了一個空陣列。這是我到目前為止所擁有的:
df = {'Stress': [1,2,3,6,7,8,10,12,14,20,19,17,15,13,12,10,8,7,6,4,1,0]
first = 10
last = 18
drop = 11
life_array = np.where(df['Stress'].iloc[first:last] < drop)
print (life_array)
[]
理想情況下,我想要的輸出是這樣的:
print(life_array)
0 15
1 16
2 17
3 18
這是滿足條件的行的位置。我可以以這種方式使用np.where和嗎?iloc
uj5u.com熱心網友回復:
IIUC 需要 2 個步驟 - 首先按位置過濾,然后按掩碼過濾:
s = df['Stress'].iloc[first:last]
life_array = s[s < drop]
print (life_array)
15 10
16 8
17 7
Name: Stress, dtype: int64
如果需要索引:
first = 10
last = 18
drop = 11
s = df['Stress'].iloc[first:last 1]
life_array = s.index[s < drop].tolist()
print (life_array)
[15, 16, 17, 18]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488959.html
