Py学习  »  Python

Python修剪数据帧的多个列名

Mainland • 3 年前 • 1523 次点击  

我有20列的数据框。它们都有一个共同的文本和序列号。我想修剪文本部分并缩短名称。下面是一个例子:

xdf = pd.DataFrame({'Column1':[10,20],'Column2':[80,90]})

   Column1  Column2
0       10       80
1       20       90

预期产出:

        C1       C2
0       10       80
1       20       90

解决方案1:

oldcols = ['Column1','Column2']
newcols = ['C1','C2']
xdf.rename(columns=dict(zip(oldcols,newcols)),inplace=True)

        C1       C2
0       10       80
1       20       90

解决方案2:

for i in range(len(oldcols)):
    xdf.rename(columns={'%s'%(xdf[i]):'%s'%(xdf[i].replace('Column','C'))},inplace=True)

raise KeyError(key) from err

解决方案1很好,但我必须准备一个新旧列名列表。相反,我希望遍历每个列名并替换列文本。然而,解决方案2不起作用。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133413
文章 [ 1 ]  |  最新文章 3 年前