在PANDA中PIVOT_TABLE之后将索引重置为平面

Resetting index to flat after pivot_table in pandas(在PANDA中PIVOT_TABLE之后将索引重置为平面)

本文介绍了在PANDA中PIVOT_TABLE之后将索引重置为平面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据帧df

           Datum    HH  DayPrecipitation
9377    2016-01-26  18  3
9378    2016-01-26  19  4
9379    2016-01-26  20  11
9380    2016-01-26  21  23
9381    2016-01-26  22  12

我使用

将其转换为宽格式
df.pivot_table(index = 'Datum', columns='HH' ,values = 'DayPrecipitation')

这给我留下了一个双列

     HH     18  19  20  21  22
  Datum                 
2016-01-26  3   4   11  23  12

我要使该列如下所示并重命名这些列:

   Datum  col1 col2  col3 col4 col5 col6            
2016-01-26  1    3    4    11   23   12
但是,当我使用reset_index时,它只是添加另一个索引列,而不会删除MULTI_INDEX。 有谁知道怎么实现这个表吗?如果您能帮忙,我们将不胜感激!

推荐答案

您可以删除['DayPrecipitation']中的[]以避免MultiIndex in columns,然后按DataFrame.set_axis设置新列名,最后按DataFrame.reset_index将索引转换为列:

L = [f'col{x+1}' for x in range(df['HH'].nunique())]
df1 = (df.pivot_table(index = 'Datum', columns='HH' ,values = 'DayPrecipitation')
         .rename_axis(None,axis=1)
         .set_axis(L, inplace=False, axis=1)
         .reset_index())
print (df1)
        Datum  col1  col2  col3  col4  col5
0  2016-01-26     3     4    11    23    12

这篇关于在PANDA中PIVOT_TABLE之后将索引重置为平面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在PANDA中PIVOT_TABLE之后将索引重置为平面

基础教程推荐