
本文介绍如何利用 Python 的 Pandas 库,向现有 CSV 文件中新增一列(如 salary),并自动计算指定多列(如 basic_sal、Allowance、Perk)的行级总和,最后保存更新后的数据。
本文介绍如何利用 python 的 pandas 库,向现有 csv 文件中新增一列(如 `salary`),并自动计算指定多列(如 `basic_sal`、`allowance`、`perk`)的行级总和,最后保存更新后的数据。
在数据处理任务中,经常需要基于已有数值列动态生成新列——例如将基本工资、津贴与福利相加得到总薪资。Pandas 提供了简洁高效的向量化操作,远优于逐行循环或 shell 工具(如 awk)的手动解析,尤其适合结构清晰的表格型 CSV 数据。
以下是一个完整可执行的解决方案:
import pandas as pd
# 读取原始 CSV 文件(请将路径替换为实际文件路径)
df = pd.read_csv("sample.csv")
# 创建新列 'salary',值为三列之和:basic_sal + Allowance + Perk
df["salary"] = df["basic_sal"] + df["Allowance"] + df["Perk"]
# 可选:将结果写回 CSV 文件(index=False 避免额外索引列)
df.to_csv("output.csv", index=False)
# 查看前几行验证结果
print(df.head())
运行后,原始数据:
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
Emdid,name,basic_sal,Allowance,Perk 11,Dave,1100,500,50 22,Gina,1000,600,50 33,Kyle,2000,300,100
将变为:
Emdid,name,basic_sal,Allowance,Perk,salary 11,Dave,1100,500,50,1650 22,Gina,1000,600,50,1650 33,Kyle,2000,300,100,2400
✅ 注意事项:
- 确保列名准确匹配(区分大小写),建议先用 df.columns.tolist() 检查原始列名;
- 若存在缺失值(NaN),加法结果也会是 NaN,可提前用 df.fillna(0) 处理;
- 如需保留原始文件,务必使用不同输出路径,避免覆盖;
- 对于超大 CSV(千万行以上),可考虑 chunksize 分块处理,但本例中的列运算仍推荐一次性向量化完成。
该方法兼具可读性、可维护性与扩展性——后续若需添加更多列(如 tax、net_salary),只需新增赋值语句即可,无需修改底层逻辑。










