繁体   English   中英

熊猫将列重塑为时间序列行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM