首页 > 解决方案 > 当它是一个对象时如何改变熊猫键

问题描述

我有一个从另一个系统导入的数据框,这些键给我带来了麻烦。

它们看起来像这样:

'87450912562906\n0972\nT_cust\n[Ah]'

检查 dtype 时返回“对象”。

我想简化并删除导致我另一个问题的 \n 。

我想循环并将密钥更改为:

'C1_0972_cust_[Ah]'

上面示例中“0972”的字符数可以在 4 - 6 之间变化,并且可以是数字和字母。

我努力了:

for name in df.keys(): 
     #name = str(name) <-- does not work 
     #name.replace('\n','') <-- does not work

我也试过 .rstrip() 只是为了确定我是否能够剪切字符,但我不能。

似乎我无法对这个“对象”做任何事情。(更改密钥的需要来自比较两个数据帧的密钥时遇到问题,怀疑的原因是密钥中的 \n)

标签: pythonpandasobject

解决方案


对于数据框,keysare columns,并且您要columns整体替换:

df.columns = [x.replace('\n', '') for x in df.columns]

或等效地

df.columns = df.columns.str.replace('\n', '')

推荐阅读