使用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
相关产品推荐
相关产品推荐

