Pandas 具有不等列的数据框

Pandas pivot dataframe with unequal columns

我有一个数据框,其中一列包含分类变量,另一列包含连续变量,如下所示:

    gender  contVar
    Male     22379
    Female   24523
    Female   23421
    Male     23831
    Male     29234

我想得到一个 table 像这样:

    Male   Female
    22379   24523
    23831   23421
    23831
    29234

这在 pandas 中可行吗?当我这样做时:

    df.pivot(index = df.index.tolist(), columns='gender', values='contVar') 

我知道索引超出范围(很明显,因为有索引所以没有行,但我也认为这是因为每列中的行数不相等)。任何想法表示赞赏。

你可以这样做:

pd.concat([pd.DataFrame({g:d.contVar.tolist()}) for g,d in df.groupby('gender')], axis=1)

Out[416]:
   Female   Male
0   24523  22379
1   23421  23831
2     NaN  29234