Pandas 唯一值作为带有计数的列

使用 pandas 数据帧并尝试在分组输出中翻转它,该输出采用唯一值并将它们作为一列,并将每个值的相应计数作为新数据帧中的值。


这是起始数据框:


df = pd.DataFrame([('gold', 'bronze', 'silver'),

                   ('silver', 'gold', 'bronze'),

                   ('gold', 'silver', 'bronze'),

                   ('bronze', 'silver', 'gold')],

                    columns=('Canada', 'China', 'South Korea'))

df.head()


    Canada  China   South Korea

0   gold    bronze  silver

1   silver  gold    bronze

2   gold    silver  bronze

3   bronze  silver  gold

所需的输出将是这样的:


    nation      gold    silver  bronze

0   Canada        2          1       1

1   China         1          2       1

2   South Korea   1          1       2


慕莱坞森
浏览 151回答 4
4回答

三国纷争

您可以df.apply与*一起使用pd.value_countsdf.apply(pd.value_counts).T             bronze  gold  silverCanada            1     2       1China             1     1       2South Korea       2     1       1* 我没有找到 的文档pd.value_counts,因此将 github 链接链接到该函数。编辑:在阅读源代码时pd.Series.value_counts只需调用pd.value_counts

牛魔王的故事

w = df.melt()    variable    value0   Canada      gold1   Canada      silver2   Canada      gold3   Canada      bronze4   China       bronze5   China       gold6   China       silver7   China       silver8   South Korea silver9   South Korea bronze10  South Korea bronze11  South Korea gold进而:pd.crosstab(w['variable'],w['value'])期望的结果:value        bronze gold    silvervariable            Canada        1      2       1China         1      1       2South Korea   2      1       1

FFIVE

使用pd.get_dummies和sumpd.get_dummies(df.T, prefix='',prefix_sep='').sum(level=0,axis=1)Out[995]:             bronze  gold  silverCanada            1     2       1China             1     1       2South Korea       2     1       1

回首忆惘然

df = pd.DataFrame([('gold', 'bronze', 'silver'),               ('silver', 'gold', 'bronze'),               ('gold', 'silver', 'bronze'),               ('bronze', 'silver', 'gold')],                columns=('Canada', 'China', 'South Korea')).transpose()df.apply(pd.value_counts,axis=1)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python