在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
相关文章