Python Pandas如何提取列名括号前内容批量修改列名
实现方法
直接对DataFrame的列名字段做字符串拆分处理即可,核心代码只有一行:
# 替换df为你实际的DataFrame变量名 df.columns = df.columns.str.split('(').str[0]
逻辑说明
df.columns.str.split('(') 会将每个列名按照左括号(拆分为列表,例如:
- 原列名
col1()拆分后得到['col1', ')'] - 原列名
abr(ddd = 66, acop = 11)拆分后得到['abr', 'ddd = 66, acop = 11)']
再通过.str[0]取每个列表的第一个元素,就能拿到左括号之前的所有字符作为新列名。
完整测试示例
你可以用这段代码验证效果:
import pandas as pd # 构造你示例中的原始DataFrame df = pd.DataFrame( [[111, 222, 3333]], columns=['col1()', 'abr(ddd = 66, acop = 11)', 'cdb()'] ) # 执行列名修改 df.columns = df.columns.str.split('(').str[0] # 输出结果验证 print(df)
运行后输出的结果和你期望的完全一致:
col1 abr cdb 0 111 222 3333
内容的提问来源于stack exchange,提问作者dingaro
相关产品推荐
相关产品推荐

