假设我有一个这样的数据框。该数据帧的索引是一个MultiIndex alredy日期/ id。 N列告知价格信息是N个周期之前的价格。如何将column ['N']转换为MultiIndex?
在此示例中,假设列N具有两个唯一值[0,1],最终结果将有6列,并且看起来应该像[0 / priceClose] [0 / priceLocal] [0 / priceUSD] [1 / priceClose] [1 / priceLocal] [1 / priceUSD]
答案 0 :(得分:0)
我终于发现以下方法有效:
步骤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')