【问题标题】:Pandas, create MultIndex column from a column in data frame熊猫,从数据框中的列创建 MultiIindex 列
【发布时间】:2020-09-25 06:09:37
【问题描述】:
假设我有一个这样的数据框。该数据帧的索引是一个 MultiIndex alredy,日期/id。
N列告诉价格信息是N个周期之前。如何将 column['N'] 转换为 MultiIndex?
在这个例子中,假设列 N 有两个唯一值 [0, 1],最终结果将有 6 列,它应该看起来像 [0/priceClose] [0/priceLocal] [0/priceUSD] [1/ priceClose] [1/priceLocal] [1/priceUSD]
【问题讨论】:
标签:
python
pandas
multi-index
【解决方案1】:
我终于发现以下方法有效:
第一步:融化
第 2 步:枢轴
df = pd.melt(df, id_vars=['date', 'id', 'N'],
value_vars=[p for p in df if p.startswith('price')],
value_name='price')
df = pd.pivot_table(df, values='price', index=['date', 'id'],
columns=['variable', 'N'], aggfunc='max')