[英]Pandas reshape columns to time-series rows
我有一个熊猫数据框(不幸的是有重复...)
Date Partner Value
2017-02-01 Partner1 150
2017-03-01 Partner1 170
2017-02-01 Partner2 160
2017-03-01 Partner2 185
2017-02-01 Partner1 40
2017-03-01 Partner1 90
我想由合作伙伴重塑,如下所示:
Partner 2017-02-01 2017-03-01
Partner1 150 170
Partner2 160 185
Partner1 40 90
我将如何处理?
实际上,我找到了所需的答案:
series = pd.pivot_table(data, values="Value", index="Partner", columns="Date")
这是一个替代解决方案:
来源DF:
In [143]: df
Out[143]:
Date Partner Value
0 2017-02-01 Partner1 150
1 2017-02-01 Partner1 199 # NOTE: duplicated `Date` & `Partner`
2 2017-03-01 Partner1 170
3 2017-02-01 Partner2 160
4 2017-03-01 Partner2 185
解:
In [144]: df.groupby(['Partner','Date'])['Value'].mean().unstack().rename_axis(None).rename_axis(None, 1)
Out[144]:
2017-02-01 2017-03-01
Partner1 174.5 170.0
Partner2 160.0 185.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.