簡體   English   中英

如果任何特定列包含特定值,則刪除 pandas 數據框中的行

[英]Remove rows in pandas dataframe if any of specific columns contains a specific value

我有以下df:

數據框

如果包含單詞“test”的任何列小於 95,我無法弄清楚如何刪除一行。例如,我將不得不刪除整個索引第 1 行,因為列“heat.test”為 80(第 0 行和第 3 行相同)。 換句話說,如果只有一列滿足該條件,則必須刪除整行。

謝謝!

你的問題不清楚。 您的意思是如果pump.test < 95feed.test < 95需要刪除一行?

在這種情況下,不要刪除刪除,只是反過來做,然后做一個積極的選擇 選擇feed.testpump.test 等於或大於95的所有行。

df.loc[df['feed.test'].ge(95) & df['pump.test'].ge(95)]

我想這就是你要問的:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM