Pandas数据处理实战:如何高效添加和重命名数据列
2025-07-05 01:49:37作者:尤辰城Agatha
前言
在数据分析工作中,我们经常需要对现有数据集进行扩展或调整。本文将详细介绍如何使用Pandas这一强大的Python数据分析库来添加新列和重命名现有列,这些操作是数据处理中最基础也最常用的功能。
准备工作
首先我们需要导入Pandas库并加载示例数据集:
import pandas as pd
# 加载空气质量NO2数据
air_quality = pd.read_csv("data/air_quality_no2.csv",
index_col=0,
parse_dates=True)
air_quality.head()
这个数据集包含了多个监测站的二氧化氮浓度数据,我们将以此为基础进行演示。
添加新列的方法
1. 基于现有列的简单计算
假设我们需要将伦敦站的NO2浓度从µg/m³转换为mg/m³(转换系数为1.882),可以这样操作:
air_quality["london_mg_per_cubic"] = air_quality["station_london"] * 1.882
关键点:
- 使用方括号
[]
直接指定新列名 - 赋值操作会自动按元素进行计算
- 不需要显式循环,Pandas会自动处理
2. 多列间的复杂计算
我们还可以创建基于多列计算的新列,例如计算巴黎站与安特卫普站的浓度比值:
air_quality["ratio_paris_antwerp"] = (
air_quality["station_paris"] / air_quality["station_antwerp"]
)
技术细节:
- 支持所有基本数学运算符(+、-、*、/等)
- 也支持比较运算符(>、<、==等)
- 计算是向量化的,效率极高
重命名列的方法
1. 使用字典映射重命名
要将列名改为OpenAQ使用的标准标识符:
air_quality_renamed = air_quality.rename(
columns={
"station_antwerp": "BETR801",
"station_paris": "FR04014",
"station_london": "London Westminster",
}
)
2. 使用函数批量重命名
还可以使用函数对列名进行批量处理,例如全部转为小写:
air_quality_renamed = air_quality_renamed.rename(columns=str.lower)
最佳实践建议:
- 对于少量列的重命名,使用字典更直观
- 对于批量处理,使用函数更高效
- 可以链式调用多个rename操作
高级技巧
对于更复杂的列操作,可以使用apply()
方法:
# 示例:对某列应用自定义函数
air_quality["new_column"] = air_quality["existing_column"].apply(lambda x: x*2 + 10)
总结
- 添加新列:通过直接赋值的方式,使用
df["new_col"] = ...
语法 - 列计算:支持向量化运算,无需显式循环
- 重命名列:使用
rename()
方法配合字典或函数 - 高级操作:
apply()
方法可以实现更复杂的逻辑
掌握这些基础但强大的列操作技巧,能够显著提高数据处理的效率和代码的可读性。在实际工作中,这些操作往往是构建更复杂数据分析流程的基础。
注意事项
- 添加新列时要注意数据对齐问题
- 重命名操作默认返回新DataFrame,如需原地修改需指定
inplace=True
- 复杂的列操作建议先在小数据集上测试