我有以下df:
資料框
如果包含單詞“test”的任何列小于 95,我無法弄清楚如何洗掉一行。例如,我將不得不洗掉整個索引第 1 行,因為列“heat.test”為 80(第 0 行和第 3 行相同)。換句話說,如果只有一列滿足該條件,則必須洗掉整行。
謝謝!
uj5u.com熱心網友回復:
我想這就是你要問的:
df[~(df.le(95) & df.columns.str.contains("test"))].dropna()
示例 ( df):
pump.test Speed feed.test water
0 100 1000 70 0.2
1 100 2000 100 0.3
2 100 3000 100 0.4
3 95 4000 100 0.5
上述操作的輸出:
pump.test Speed feed.test water
1 100 2000 100 0.3
2 100 3000 100 0.4
uj5u.com熱心網友回復:
你的問題不清楚。pump.test < 95您的意思是如果或需要洗掉一行feed.test < 95嗎?
在這種情況下,不要洗掉或洗掉,只是反過來做,然后做一個積極的選擇。feed.test 選擇和 pump.test等于或大于的所有行95。
df.loc[df['feed.test'].ge(95) & df['pump.test'].ge(95)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/484946.html
上一篇:如果起息日不是最大日期,則洗掉行
