Axa*_*ack 9 python pivot pandas
我正在尝试重塑数据框,如图所示。我想创建一个宽数据框,其中 asset 中的值作为带有前缀 asset_ 的新列。在新的 asset_ 列中,应存储 value 列中的相应值。请参阅附图。这是某种枢轴操作,但我无法弄清楚以下内容:
我尝试使用 pandas.pivot 执行此操作,但没有前缀参数,并且我不想创建任何多级索引:
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.pivot(index="rowkey", columns="asset", values="value").reset_index()
Run Code Online (Sandbox Code Playgroud)
在我的问题中,我有 200 多个独特的资产,因此结果将是一个非常宽的数据框。查看图片:
aba*_*kar 10
您可以使用add_prefix()如下所示的方法:
# Create pandas dataframe
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)
# Pivot data and add prefix
df.pivot(index="rowkey",columns="asset",values="value").reset_index().add_prefix('asset_')
Run Code Online (Sandbox Code Playgroud)
这里是操作后的输出:
最好的,
阿巴卡尔