You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame删除0.000000值行及sum后删除0值列的方法

Pandas 数据过滤常见操作

删除包含0.000000值的行

分两种常用场景按需选择:

  • 只要行内任意一列值为0就删除整行
    基础写法:df = df[~(df == 0).any(axis=1)]
    如果担心浮点数精度导致0值判断误差,可搭配numpy的isclose方法更稳妥:
    import numpy as np
    df = df[~np.isclose(df, 0).any(axis=1)]
    
  • 仅删除指定列值为0的行,以Age列为例:
    写法:df = df[df['Age'] != 0]

删除sum聚合后值为0.000000的列

分两种需求按需选择:

  • 仅过滤sum得到的Series结果,移除0值项
    写法:sum_result = sum_result[sum_result != 0]
    按照你给出的示例运行后,结果会保留Age、Cabin、Embarked三个非0项。
  • 基于sum结果直接过滤原始DataFrame,删除所有求和为0的列:
    写法:
    import numpy as np
    # 先计算每列求和结果,筛选出求和不为0的列名
    keep_cols = df.sum()[~np.isclose(df.sum(), 0)].index
    # 仅保留符合要求的列
    df = df[keep_cols]
    

内容的提问来源于stack exchange,提问作者iuuujkl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:45:03