如何使用Pandas df在Python中水平地透视csv中的表?

2024-03-28 22:47:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下格式的数据-

MonthYear  HPI Div State_fips
1-1993  105.45  7   5
2-1993  105.58  7   5
3-1993  106.23  7   5
4-1993  106.63  7   5

Required Pivot Table as: 

Stafips   1-1993    2-1993  3-1993 4-1993
5       105.45  105.58  106.23  106.63

(对熊猫来说还是个新手)


Tags: 数据divas格式tablerequiredpivotstate
1条回答
网友
1楼 · 发布于 2024-03-28 22:47:38

使用^{}^{}

df1 = df.set_index(['State_fips', 'MonthYear'])['HPI'].unstack()
MonthYear   1-1993  2-1993  3-1993  4-1993
State_fips                                
5           105.45  105.58  106.23  106.63

df1 = df.pivot(index='State_fips', columns='MonthYear', values='HPI')
MonthYear   1-1993  2-1993  3-1993  4-1993
State_fips                                
5           105.45  105.58  106.23  106.63

但如果重复,需要使用groupby^{}聚合,mean可以改为summedian,…:

^{pr2}$

如果需要,请从索引创建列并删除列名称:

df1 = df1.reset_index().rename_axis(None, axis=1)
print (df1)
   State_fips  1-1993  2-1993  3-1993  4-1993
0           5  105.45  105.58  106.23   150.0

相关问题 更多 >