在删除几列后,从0重新分配列的标签

时间:2018-03-23 07:27:18

标签: python pandas dataframe

我通过以下命令删除了一些重复的列。

columns = XY.columns[:-1].tolist()
XY1 = XY.drop_duplicates(subset=columns,keep='first').

结果如下:

Combined Series shape :  (100, 4)                            
Combined Series:     1    222  223          0                
0    0    0    0  1998.850000                                
1    0    0    0     0.947361
2    0    0    0     0.947361
3    0    0    0     0.947361
4    0    0    0     0.947361
     

现在列标记为1 222 223 0(最后0标签是因为与另一个df连接!)我希望列是   从索引0开始重新标记。我该怎么办?

1 个答案:

答案 0 :(得分:1)

首先创建一个包含所需映射的字典

trafo_dict = {x:y for x,y in zip( [1,222,223,0],np.linspace(0,3,4))}

然后你需要重命名列。这可以使用pd.DataFrame.rename:

完成
  XY1 = XY1.rename(columns=trafo_dict)

编辑:如果您想以更一般的方式使用它:

np.linspace(0,XY1.shape[1]-1,XY1.shape[1])