首页 > 解决方案 > 根据特定值在 pandas 中删除一行的其他方法

问题描述

我正在尝试从 pandas df 中删除等于 0 的行,我只需要删除该特定行的 0,因为其他值为 0 的行是可以的。我一直在尝试不同的代码变体,我将在此处列出,但没有影响。任何人都知道为什么它不工作或工作不正确?

我试过使用:

df = df[df.Columnname != 0] 

df = df['df.Columnname != 0']

我尝试将 0 值更改为 NaN,然后​​像这样删除 NaN:

columns = ['columnname']
df = df.replace('0', pd.np.nan).dropna(axis=0, how='any', subset=columns))

我还尝试了我在这些论坛中发现的不同变体,但没有任何影响。任何帮助是极大的赞赏!提前致谢。

标签: pythonpandas

解决方案


如果要删除具有所有 NaN 值的所有行,可以使用 'how' 参数

df.dropna(how='all')

如果您通过 how='any',它将删除所有行,这些行甚至至少有一列具有 NaN 值。如果您想通过指定列或特定行来删除,请使用代码段指定。


推荐阅读