Pandas 聚合 multiindex 然后 pivot
Pandas aggregate multiindex and then pivot
我有一个 pandas 数据框
> df
Close ... Dividends
WHR WLTW WMB WYNN ... ZBH ZBRA ZION ZTS
Date ...
2018-12-31 98.651924 146.821838 18.532253 94.978737 ... 0.0 0 0.0 0.0
2019-01-02 99.621178 144.714127 18.843227 100.250526 ... 0.0 0 0.0 0.0
2019-01-03 99.288864 141.678299 19.002914 99.280663 ... 0.0 0 0.0 0.0
我想取时间轴上的平均值
> df.mean(axis=0)
Close WHR 132.339759
WLTW 179.843761
WMB 22.007237
WYNN 120.427202
XEL 56.132715
XLNX 105.113807
XYL 75.654389
YUM 100.469046
ZBH 127.807681
ZBRA 209.234944
ZION 43.799284
ZTS 110.658934
Dividends WHR 0.017658
WLTW 0.009665
WMB 0.005651
WYNN 0.013941
XEL 0.006022
XLNX 0.005465
XYL 0.003569
YUM 0.006245
ZBH 0.003569
ZBRA 0.000000
ZION 0.004758
ZTS 0.003182
但是现在我怎样才能使这个 table 看起来像
Dividends Close
WHR 0.017658 132.339759
WLTW 0.009665 179.843761
WMB 0.005651 22.007237
WYNN 0.013941 120.427202
XEL 0.006022 56.132715
XLNX 0.005465 105.113807
XYL 0.003569 75.654389
YUM 0.006245 100.469046
ZBH 0.003569 127.807681
ZBRA 0.000000 209.234944
ZION 0.004758 43.799284
ZTS 0.003182 110.658934
我在原始 table 中有多个索引列和一个时间序列索引。
每个第一级使用 DataFrame.unstack
:
df.mean(axis=0).unstack(level=0)
我有一个 pandas 数据框
> df
Close ... Dividends
WHR WLTW WMB WYNN ... ZBH ZBRA ZION ZTS
Date ...
2018-12-31 98.651924 146.821838 18.532253 94.978737 ... 0.0 0 0.0 0.0
2019-01-02 99.621178 144.714127 18.843227 100.250526 ... 0.0 0 0.0 0.0
2019-01-03 99.288864 141.678299 19.002914 99.280663 ... 0.0 0 0.0 0.0
我想取时间轴上的平均值
> df.mean(axis=0)
Close WHR 132.339759
WLTW 179.843761
WMB 22.007237
WYNN 120.427202
XEL 56.132715
XLNX 105.113807
XYL 75.654389
YUM 100.469046
ZBH 127.807681
ZBRA 209.234944
ZION 43.799284
ZTS 110.658934
Dividends WHR 0.017658
WLTW 0.009665
WMB 0.005651
WYNN 0.013941
XEL 0.006022
XLNX 0.005465
XYL 0.003569
YUM 0.006245
ZBH 0.003569
ZBRA 0.000000
ZION 0.004758
ZTS 0.003182
但是现在我怎样才能使这个 table 看起来像
Dividends Close
WHR 0.017658 132.339759
WLTW 0.009665 179.843761
WMB 0.005651 22.007237
WYNN 0.013941 120.427202
XEL 0.006022 56.132715
XLNX 0.005465 105.113807
XYL 0.003569 75.654389
YUM 0.006245 100.469046
ZBH 0.003569 127.807681
ZBRA 0.000000 209.234944
ZION 0.004758 43.799284
ZTS 0.003182 110.658934
我在原始 table 中有多个索引列和一个时间序列索引。
每个第一级使用 DataFrame.unstack
:
df.mean(axis=0).unstack(level=0)