Pandas如何提取DataFrame列名的前4位字符?
Pandas批量修改列名解决方案
你遇到的SyntaxError: can't assign to function call报错有两个核心问题:
df.head()是Pandas内置方法,返回的是DataFrame前若干行的临时视图,Python语法不允许对方法调用的结果直接赋值- 修改列名的操作对象应该是
df.columns属性,而非DataFrame的行数据内容
实现方法
方法1:直接切片(适配你给出的列名格式)
所有列名前4位均为目标内容的场景下,直接对列名字符串切片即可:
df.columns = df.columns.str[:4]
方法2:按分隔符分割(兼容性更强)
如果列名前缀长度不固定,但统一用-分隔前缀和后缀,推荐用分割取值的方式,避免部分列名长度不足4导致的切片异常:
df.columns = df.columns.str.split('-').str[0]
验证修改结果
执行以下代码即可打印所有列名,确认修改是否符合预期:
print(df.columns.tolist())
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

