超过指定编号的列已用Pandas重命名

时间:2018-10-17 01:12:19

标签: python pandas

我使用Pandas join()加入了多个文件,但现在想重命名一些重复的列。但是,当我指定索引以重命名几列时,比指定的编号还多。列被重命名。

输入CSV文件的格式为

F1.csv
A,B,C,D,E,F
1,4,5,6,7,8
2,1,3,4,5,6
3,4,1,5,1,8
4,5,1,5,6,7

F2.csv
A,B,C,M,N
1,4,5,6,7
2,1,3,4,5
3,4,1,5,1
4,5,1,5,6

F3.csv 
A,B,C,X,Y,Z
1,4,5,6,7,8
2,1,3,4,5,6
3,4,1,5,1,8
4,5,1,5,6,7

F4.csv
A,B,C,T,Q,R
1,4,5,6,7,8
2,1,3,4,5,6
3,4,1,5,1,8
4,5,1,5,6,7

我的代码

data = None

for f in filelist:
    if data is None:
            data = pandas.read_csv(f, index_col='A')
    else:
            data = data.join(pandas.read_csv(f, index_col='A'), lsuffix='_left', rsuffix='_right', how=join_type)

print(list(data))  

new_names =["HH","XX"]
old_names = data.columns[[0,1]]
data.rename(columns=dict(zip(old_names, new_names)), inplace=True)
print(list(data_union))

第一张印刷品输出

 ['B_left', 'C_left', 'D', 'E', 'F', 'B_right', 'C_right', 'M', 'N', 'B_left', 'C_left', 'X', 'Y', 'Z', 'B_right', 'C_right', 'T', 'Q', 'R']

重命名后打印并显示

['HH', 'XX', 'D', 'E', 'F', 'B_right', 'C_right', 'M', 'N', 'HH', 'XX', 'X', 'Y', 'Z', 'B_right', 'C_right', 'T', 'Q', 'R']

我的问题是不是仅重命名索引0和1的列,而是更改索引10和11。有人可以帮我吗?我是Pandas的新手,无法解决此问题。谢谢,

0 个答案:

没有答案