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

2024-04-19 17:59:29 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

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

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


1条回答
网友
1楼 · 发布于 2024-04-19 17:59:29

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

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

相关问题 更多 >