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

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的concat!),我希望这些列被
  从索引0开始重新标记。我该怎么办?

最佳答案

因此,首先使用所需的映射创建字典

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])

关于python - 删除几列后,从0重新分配列标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49444445/

10-12 16:38