我對熊貓資料框很陌生,我有一個類似于這個的資料框:
value_1 value_2
1 2
9 6
2 5
7 2
2 5
例如,我需要做的是只獲取 value_1 大于 3 的行,但還要獲取資料幀的第一行和最后一行。像這樣:
value_1 value_2
1 2
9 6
7 2
2 5
我知道我可以用 iloc 按索引過濾,用 loc 按列值過濾,但是我怎樣才能同時使用它們呢?
謝謝!
uj5u.com熱心網友回復:
假設一個范圍索引,您可以使用布爾索引:
# is value_1 > 3?
m1 = df['value_1'].gt(3)
# is the index the first or last value?
m2 = df.index.isin([0, len(df)-1])
# keep if any condition above is True
out = df[m1|m2]
如果您沒有范圍索引或有重復項,則可以使用:
m2 = np.r_[True, [False]*len(df-2), True]
輸出:
value_1 value_2
0 1 2
1 9 6
3 7 2
4 2 5
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/493400.html
上一篇:熊貓Sum()問題
下一篇:更改日期并減去以過濾掉
