python - 根据特定值在 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))
我还尝试了我在这些论坛中发现的不同变体,但没有任何影响。任何帮助是极大的赞赏!提前致谢。
解决方案
如果要删除具有所有 NaN 值的所有行,可以使用 'how' 参数
df.dropna(how='all')
如果您通过 how='any',它将删除所有行,这些行甚至至少有一列具有 NaN 值。如果您想通过指定列或特定行来删除,请使用代码段指定。
推荐阅读
- python - 集群时保留列表序列
- python - 为什么 Python 中会出现错误“模块 'googlesearch' 中没有名称 'search'”?
- kubernetes - Kubernetes pod 获得不同的 CPU 限制
- maven - 如何进行离线 Maven 构建?
- ios - 获取 FinishTransaction() 的 SKPaymentTransaction
- javascript - 显示多个选中复选框的值以及与它们关联的表单为 JSON 格式
- python - 如何在散景图中显示工具栏
- matlab - dx/dt = A*x 使用 Matlab ode23s
- c++ - 使用链接列表搜索哈希表的程序的问题
- python - 为什么while循环没有停止