如何使用 pivot_table 或 unstack 来创建新的数据框

How to use pivot_table or unstack to create new data frame

我是 Python 的新手,所以请帮助我。我有一个数据框如下:

我想 unstack/pivot 它到下面:

我尝试了不同的方法,但没有得到想要的结果。

我第一次尝试 groupby 时只有 2 个值用于试用,但这对我想要的不起作用,它填充了 NaN:

newdf = df.groupby(['ACCIDENT_NO', 'SEX'])['Age_Group'].value_counts().unstack()

我也试过了pivot_table:

new_1 = new_df.pivot_table(index=['ACCIDENT_NO'], columns= [ 'SEX','Age_Group'], aggfunc=len, fill_value=0)

这至少填补了零,但这里 SEX 成为主要栏目,年龄组在其下细分。我不关心任何细分或任何东西...我只想将类别拆分为不同的列,如上图所示。

使用 get_dummiesgroupby 试试这个单行:

df = pd.get_dummies(df, columns=df.columns[1:], prefix='', prefix_sep='').groupby('ACCIDENT_NO', as_index=False).sum()

现在打印 df 会 return 想要的结果。