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

使用Pandas处理CSV文件:筛选非零列并生成新CSV

Pandas处理CSV:删除最后两列均为0的行

步骤拆解

  • 读取CSV文件:你已经写了基础读取代码,替换成实际文件链接/路径即可:

    import pandas as pd 
    # 替换为目标CSV的链接或本地路径
    df = pd.read_csv("file-url")
    
  • 筛选保留有效行:我们需要保留「最后两列不全为0」的行。用iloc[:, -2:]定位最后两列,再通过all(axis=1)判断每行这两列是否全为0,最后取反筛选:

    # 筛选出最后两列不同时为0的行
    filtered_df = df[~(df.iloc[:, -2:] == 0).all(axis=1)]
    

    简单解释:

    • df.iloc[:, -2:]:提取DataFrame的最后两列数据
    • (df.iloc[:, -2:] == 0):生成布尔值表格,对应位置为0则标记为True
    • .all(axis=1):按行校验,只有该行最后两列全为True(即全为0)时返回True
    • ~:取反操作,得到「不是两列都为0」的行的索引
  • 写入新CSV文件:用to_csv保存筛选后的数据,设置index=False避免写入多余的索引列:

    # 保存到新文件,index=False不输出索引列
    filtered_df.to_csv("filtered_file.csv", index=False)
    

完整代码

整合所有步骤的完整代码如下:

import pandas as pd 

# 读取原始CSV
df = pd.read_csv("file-url")

# 过滤目标行
filtered_df = df[~(df.iloc[:, -2:] == 0).all(axis=1)]

# 保存结果
filtered_df.to_csv("filtered_file.csv", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:33:13