与列前缀的枢轴表熊猫

时间:2017-11-20 12:42:44

标签: python pandas pivot

我正在尝试重塑数据帧,如图所示。我想创建一个宽数据框,其中assets中的值为新列,前缀为asset_。在新的asset_列中,应存储值列中的相应值。见附图。这是某种枢轴操作,但我无法弄清楚:

  1. 如何将前缀asset_动态添加到新列。
  2. 如何保持每行具有相同值的ser_num和day列。
  3. 我尝试用pandas.pivot做这个,但是没有前缀参数,我不想创建任何多级索引:

    requireAdministrator

    在我的问题中,我有200多个独特资产,因此结果将是一个非常宽的数据帧。见图:

    Dataframe before manipulation

    Dataframe after manipulation

1 个答案:

答案 0 :(得分:0)

您好,您必须使用:ad_prefix()就像下面的代码

import pandas as pd 
data  = {"rowkey":["2017:P7W", "2017:P7W", "2017:P7W"], 
         "ser_num":[467, 467, 467], "asset": ["A", "B", "C"], 
          "value": [123,456,789],"day":[1,1,1]} 
df =pd.DataFrame(data)

df.head()

df.pivot(index="rowkey",columns="asset",values="value").reset_index().ad_prefix('asset_')

here an output after manipulation

最好, 阿巴卡尔