Python 具有不等列的数据帧

Python 具有不等列的数据帧,python,pandas,dataframe,pivot,Python,Pandas,Dataframe,Pivot,我有一个数据框,其中一列包含一个分类变量,另一列包含一个连续变量,如下所示: gender contVar Male 22379 Female 24523 Female 23421 Male 23831 Male 29234 我想要一张这样的桌子: Male Female 22379 24523 23831 23421 23831 29234 这在熊猫身上可能

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

    gender  contVar
    Male     22379
    Female   24523
    Female   23421
    Male     23831
    Male     29234
我想要一张这样的桌子:

    Male   Female
    22379   24523
    23831   23421
    23831
    29234
这在熊猫身上可能吗?当我这样做时:

    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

或者可以得到两个单独的列表吗?我真的不需要表中的数据透视(并用NaN填充空单元格),甚至需要单独的列表。我在这里不使用pivot,我实际上构建了一个数据帧列表(一个用于女性,另一个用于男性),这样您就可以从该列表中访问“单独”的数据帧。
[d.contVar.tolist()对于df.groupby中的g,d('gender')]
这样做会给你一个这样的两个列表的列表
[[24523421],[223792383129234]]
[{g:d.contVar.tolist()}对于df.groupby('gender')中的g,d,它会给你一个这样的两个列表
[{'Female':[24523421]},{'Male':[223792383129234]}
这确实是一个词汇列表,不清楚OP所说的“两个独立列表”是什么意思