我有一个dataframe df,其中一些列包含非常小的元素。我想根据元素的总和来删除这些列。如果总和小于1.0,那么我想删除该列。现在我正在尝试这个:
df
df = df.loc[:, (df.sum() < 1.0).any(axis=0)]
但它确实会抛出一个错误,只是说“True”。有办法让它工作吗?
vohkndzv1#
通过将掩码反转>=来更改掩码,并删除any:
>=
any
df1 = df.loc[:, df.sum() >= 1.0]
或者:
df1 = df.loc[:, ~(df.sum() < 1.0)]
pgky5nke2#
另一种可能的解决方案:
df.drop(df.columns[df.sum().lt(1)], axis=1)
2条答案
按热度按时间vohkndzv1#
通过将掩码反转
>=
来更改掩码,并删除any
:或者:
pgky5nke2#
另一种可能的解决方案: