pandas 删除所有总和小于给定值的dataframe列

ktecyv1j  于 2023-05-12  发布在  其他
关注(0)|答案(2)|浏览(234)

我有一个dataframe df,其中一些列包含非常小的元素。我想根据元素的总和来删除这些列。如果总和小于1.0,那么我想删除该列。现在我正在尝试这个:

df = df.loc[:, (df.sum() < 1.0).any(axis=0)]

但它确实会抛出一个错误,只是说“True”。有办法让它工作吗?

vohkndzv

vohkndzv1#

通过将掩码反转>=来更改掩码,并删除any

df1 = df.loc[:, df.sum() >= 1.0]

或者:

df1 = df.loc[:, ~(df.sum() < 1.0)]
pgky5nke

pgky5nke2#

另一种可能的解决方案:

df.drop(df.columns[df.sum().lt(1)], axis=1)

相关问题