【发布时间】:2020-12-02 10:21:59
【问题描述】:
我正在努力解决如何将数据框旋转为具有多索引列。
我有一个这样的数据框:
data = pd.DataFrame({"name":["a", "a", "b", "b", "b", "b", "c", "c"],
"month":[1, 1, 2, 3, 1, 1, 1, 3],
"buy_sell":["sell", "buy", "sell", "buy", "sell", "buy", "sell", "buy"],
"value":[10, 20, 30, 40, 20, 80, 50, 60]})
data
我想将其转换为宽格式。索引是name,对于列我想用month和buy_sell的组合创建多索引
或者,如果不是多索引列,我想旋转数据框,以便列具有足够的空间,例如 sell_1、buy_1、sell_2、buy_2 等...
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
data.pivot('name', ['month', 'buy_sell'], 'value')。这将创建您的多索引列 -
我收到
KeyError: 'Level month not found'... -
那么您的列不是
'month',但它可能有尾随空格,如'month '您需要执行data.columns才能查看列的实际名称 -
@It_is_Chris 您可能需要使用
pivot_table而不是pivot。
标签: python pandas pivot multi-index