如何用Python移除Pandas列名中的特殊字符与单位
简洁移除Pandas列名中的[单位]部分
针对你清理CSV列名的需求,不用逐个替换不同单位,一行正则就能搞定所有情况:
import pandas as pd # 读取目标CSV文件 df = pd.read_csv('your_data.csv') # 一次性移除所有「空格+[单位]」格式的后缀 df.columns = df.columns.str.replace(r'\s*\[[^\]]+\]', '', regex=True)
正则匹配逻辑拆解:
\s*:匹配列名中单位前缀的任意空格(包括无空格的极端情况)\[:转义后匹配左方括号[(正则中[是特殊字符,必须转义才能匹配原字符)[^\]]+:匹配括号内的所有内容(只要不是右括号]都能匹配,兼容Ml、l/s、°C等各种单位格式)\]:转义后匹配右方括号]
执行后,列名会直接变为你想要的简洁格式:Date,Time,app1_sum,app1_q,app1_h,app1_a,app1_v,app1_t_water
这个方案一次就能覆盖所有带单位的列名,比逐个替换单位的写法高效得多。
内容的提问来源于stack exchange,提问作者user15690830
相关产品推荐
相关产品推荐

