Python 请从数据框中的列创建多索引列

Python 请从数据框中的列创建多索引列,python,pandas,multi-index,Python,Pandas,Multi Index,假设我有一个这样的数据帧。此数据帧的索引是多索引alredy,date/id。 第N列表示价格信息在N个周期之前。如何将列['N']转换为多索引 在本例中,假设N列有两个唯一的值[0,1],最终结果将有6列,看起来应该像[0/priceClose][0/priceLocal][0/priceUSD][1/priceClose][1/priceLocal][1/priceUSD]我最终发现以下方法有效: 步骤1:熔化 第二步:支点 df = pd.melt(df, id_vars=['date',

假设我有一个这样的数据帧。此数据帧的索引是多索引alredy,date/id。 第N列表示价格信息在N个周期之前。如何将列['N']转换为多索引


在本例中,假设N列有两个唯一的值[0,1],最终结果将有6列,看起来应该像[0/priceClose][0/priceLocal][0/priceUSD][1/priceClose][1/priceLocal][1/priceUSD]

我最终发现以下方法有效:

步骤1:熔化

第二步:支点

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')