我有以下数据框:
TAN.SK SHA.LO
A 0.05 0.01
S 0.04 0.44
D 0.08 -0.18
我希望新的df如下:
TAN SHA
A 0.05 0.01
S 0.04 0.44
D 0.08 -0.18
基本上从列名中删除
这就是我所尝试的:
df.rename(columns=lambda x: x.split('.')[0])
df.columns=df.split('.')[0]
第二种情况在
.SK
最佳答案
DataFrame.rename()不会就地更改数据帧(默认情况下),因此您必须将其重新分配给:
In [134]: df = df.rename(columns=lambda x: x.split('.')[0])
In [135]: df
Out[135]:
TAN SHA
A 0.05 0.01
S 0.04 0.44
D 0.08 -0.18
或
In [139]: df.rename(columns=lambda x: x.split('.')[0], inplace=True)
In [140]: df
Out[140]:
TAN SHA
A 0.05 0.01
S 0.04 0.44
D 0.08 -0.18