如何将熊猫数据框的值转换为列

How to convert values of panda dataframe to columns

我有下面给出的数据集:

weekid type amount
1       A    10   
1       B    20
1       C    30
1       D    40
1       F    50

2       A    70
2       E    80
2       B    100

我正在尝试根据定义的类型值总数将其转换为另一个熊猫框架:

import pandas as pd
import numpy as np

df=pd.read_csv(INPUT_FILE)
for type in df["type"].unique():
    //todo

我的目标是得到下面给出的数据:

weekid type_A type_B type_C type_D type_E type_F
    1    10    20      30     40     0     50
    2    70    100     0      0      80    0   

是否有任何特定函数可以将唯一值转换为列并将每个 weekId 组的缺失值填充为 0?我想知道如何有效地完成这种转换?

您可以使用以下内容:

df = df.pivot(columns=['type'], values=['amount'])
df.fillna(0)
dfp.columns = dfp.columns.droplevel(0)  

根据您的输入结果:

type    A   B   C   D   F
weekid                  
1   10.0    20.0    30.0    40.0    50.0
2   70.0    80.0    100.0   0.0 0.0