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
我有一个数据框,其中一列包含分类变量,另一列包含连续变量,如下所示:
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