【发布时间】:2018-05-22 22:44:05
【问题描述】:
我有一个 CSV,它生成以下格式的数据框
--------------------------------------------------------------
|Date | Fund | TradeGroup | LongShort | Alpha | Details|
--------------------------------------------------------------
|2018-05-22 |A | TGG-A | Long | 3.99 | Misc |
|2018-05-22 |A | TGG-B | Long | 4.99 | Misc |
|2018-05-22 |B | TGG-A | Long | 5.99 | Misc |
|2018-05-22 |B | TGG-B | Short | 6.99 | Misc |
|2018-05-22 |C | TGG-A | Long | 1.99 | Misc |
|2018-05-22 |C | TGG-B | Long | 5.29 | Misc |
--------------------------------------------------------------
我想做的是,将 TradeGroup 组合在一起并将 Fund 转换为列。所以,最终的数据框应该是这样的:
--------------------------------------------------------
|TradeGroup| Date | A | B | C |
--------------------------------------------------------
| TGG-A |2018-05-22 | 3.99 | 5.99 | 1.99 |
| TGG-B |2018-05-22 | 4.99 | 6.99 | 5.29 |
--------------------------------------------------------
另外,我并不真正关心 LongShort 列和详细信息列。所以,如果他们被丢弃也没关系。谢谢!!
我试过df.pivot(),但它没有提供所需的格式
【问题讨论】:
-
试试
df.set_index(['Date','TradeGroup','Fund']).unstack(level=2)['Alpha']
标签: python pandas dataframe pandas-groupby