发布于2026-07-13 阅读(0)
扫一扫,手机访问
本文介绍如何使用 Python 的 Pandas 库,向现有 CSV 文件中新增一列(如 salary),该列值为指定多列(如 basic_sal、Allowance、Perk)的行级求和,并将结果写入新文件或覆盖原文件。
数据处理中,这种场景很常见:你手头有一份员工薪资明细的 CSV 文件,里面已经列出了基本工资、津贴、福利等字段,但老板想要一个总薪资列——把这三项加到一起,放在最后一列。手动在 Excel 里拖公式当然也行,但如果文件有几百上千行,或者每隔几天就要更新一次,那就有点折磨人了。
用 Pandas 解决这件事,本质上就三步:读取、计算、保存。代码简洁到只要三行,而且语义清晰、不易出错。比起用 awk 写一串正则匹配或者手动逐行解析,Pandas 在列名语义化、类型安全以及后期维护上的优势不是一星半点。
具体来说,操作流程是这样的:
pd.read_csv() 把数据加载成 DataFrame;df['salary'] = ... 创建新列,支持对多列做逐行算术运算;to_csv() 输出到新文件(推荐),记得加上 index=False 避免把行号写进去。直接看代码:
import pandas as pd
# 读取原始 CSV(请替换为实际路径)
df = pd.read_csv("employees.csv")
# 新增 salary 列:对 basic_sal、Allowance、Perk 三列求和
df["salary"] = df["basic_sal"] + df["Allowance"] + df["Perk"]
# 保存结果(不保留索引,确保格式与原始一致)
df.to_csv("employees_with_salary.csv", index=False)
这里有几个值得留意的细节:
df[["basic_sal","Allowance","Perk"]] = df[["basic_sal","Allowance","Perk"]].apply(pd.to_numeric, errors='coerce'),把非数字转为 NaN 再决定怎么处理。to_csv("employees.csv", index=False) 也能做到,但强烈建议先留个备份。毕竟改完发现算错了,想恢复可就麻烦了。这套方法可读性高、扩展性好,而且足够健壮——说白了,它就是数据预处理阶段添加衍生指标的“标准操作”,值得收藏复用。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8