熊猫将相同的索引名称移至唯一的列名称

时间:2020-07-23 20:03:00

标签: pandas indexing reset col

我有一个形状为366,1的熊猫df“ lty”,如下所示,其中第一个“时间”列是一个月,在这种情况下是Jan,第二个“时间”列是一个月中的一天。这是

的结果
lty = ylt.groupby([ylt.index.month, ylt.index.day]).mean()

我需要重置索引或像下面这样重新命名列,以便“ lty”的形状为366,3:

             LT Mean
time time           
1    1     11.263604
     2     11.971495
     3     11.989080
     4     12.558736
     5     11.850899

             
month day  LT Mean        
1    1     11.263604
     2     11.971495
     3     11.989080
     4     12.558736
     5     11.850899

我尝试重置索引,但出现此错误:

lty.reset_index()

ValueError: cannot insert time, already exists

谢谢,因为我仍在学习如何操作列,建立索引。

1 个答案:

答案 0 :(得分:1)

当您groupbyrename分组索引属性时,它们在聚合后不会发生冲突:

lty = (ylt.groupby([ylt.index.month.rename('month'), ylt.index.day.rename('day')])
          .mean().reset_index())

#month day   LT Mean          
#1     1     11.263604
#1     2     11.971495
#1     3     11.989080
#1     4     12.558736
#1     5     11.850899