【发布时间】:2019-09-11 08:53:12
【问题描述】:
我有一个包含以下列的数据框:
Index(u['Stock','EarnDate','Last','Settle','Change'],dtype='object')
EarnDate 是反映下一次收入发布的日期。
我创建了一个数据透视表:
pivot = pd.pivot_table(df, index='EarnDate',columns='Stock'),dtype='object')
这给了我以下输出
Last Settle Chg
Stock Stock1 Stock2 Stock1 Stock2 Stock1 Stock2
EarnDate
2019-10-01 NaN 5.55 NaN 5.55 NaN +1
2019-11-01 65.91 3.43 62.91 6.55 -.5 +2
2019-12-01 62.97 6.87 61.97 7.00 +.4 +3
2020-01-01 63.33 6.66 61.38 9.50 -.3 +4
2020-02-01 60.91 5.98 60.99 8.50 +.2 +5
2020-03-01 60.71 6.23 60.70 7.50 -.15 +6
我想做的是按 Stock 对 Last、Settle、Chg 字段进行分组,使其看起来像这样:
Stock Stock1 Stock 2
Last Settle Chg Last Settle Chg
EarnDate
2019-10-01 NaN NaN NaN 5.55 5.55 +1
2019-11-01 65.91 62.91 -.5 3.43 6.55 +2
2019-12-01 62.97 61.97 +.4 6.87 7.00 +3
2020-01-01 63.33 61.38 -.3 6.66 9.50 +4
2020-02-01 60.91 60.99 +.2 5.98 8.50 +5
2020-03-01 60.71 60.70 -.15 6.23 7.50 +6
我尝试了各种 stack()/unstack() 组,但均未成功。有人可以带我回家吗?谢谢!
【问题讨论】:
标签: pandas python-2.7 dataframe pivot-table