删除所有布尔列均为 False 的行 - Python
Drop rows where all Boolean columns are False - Python
如果所有行的值为 False,我如何删除一行? (这里意味着删除 'kiwi'。)
print(df.head())
> concatenated category apple banana orange
> 0 apple_banana two True True False
> 1 apple one True False False
> 2 banana one False True False
> 3 kiwi one False False False
您可以遍历 df
中的每一行并比较列,如果得到 3 False
那么您可以 drop
row
,
for index, row in df.iterrows():
if not row["apple"] and not row["banana"] and not row["orange"]:
df.drop(index=index, inplace=True)
也试试这个
df1 = df[~(~(df['banana'])& ~(df['apple']) & ~(df['orange']))]
回答你最后的表扬
boolean_columns = ['apple', 'banana', 'orange']
x = " & ".join('~('+x+')' for x in boolean_columns)
x = "~("+x+")"
df1 = df.query(x)
试试这个
如果所有行的值为 False,我如何删除一行? (这里意味着删除 'kiwi'。)
print(df.head())
> concatenated category apple banana orange
> 0 apple_banana two True True False
> 1 apple one True False False
> 2 banana one False True False
> 3 kiwi one False False False
您可以遍历 df
中的每一行并比较列,如果得到 3 False
那么您可以 drop
row
,
for index, row in df.iterrows():
if not row["apple"] and not row["banana"] and not row["orange"]:
df.drop(index=index, inplace=True)
也试试这个
df1 = df[~(~(df['banana'])& ~(df['apple']) & ~(df['orange']))]
回答你最后的表扬
boolean_columns = ['apple', 'banana', 'orange']
x = " & ".join('~('+x+')' for x in boolean_columns)
x = "~("+x+")"
df1 = df.query(x)
试试这个