【问题标题】: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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 2017-08-27
      • 2020-08-14
      • 2021-06-08
      • 2021-09-29
      • 2018-02-26
      • 2020-12-20
      相关资源
      最近更新 更多