gpt4 book ai didi

python - 如何返回 pandas 数据框中每个项目的每个值的频率?

转载 作者:行者123 更新时间:2023-12-01 01:51:48 25 4
gpt4 key购买 nike

我有一个非常大的 pandas 数据框,如下所示:

id   fruit
---|------
101 apple
102 apple
101 watermelon
101 orange
102 orange
104 lemon
105 lemon
104 lemon
105 apple
103 grapes

如何创建一个计数数据框,其中每个 id 代表各列中水果的频率,如下所示:

     apple   watermelon  orange  lemon  grapes

101 1 1 1 0 0
102 2 0 1 0 0
103 0 0 0 0 1
104 0 0 0 0 2
105 1 0 0 0 0

我尝试过:

new_df = df.groupby(['id','fruit']).count()
new_df

还有

new_df = df[['id','fruit']].groupby(['id','fruit']).count()
new_df

还有

new_df = df[['id','fruit']].groupby(df['fruit'].tolist()).count()
new_df

但是,我没有得到预期的输出。知道如何从数据帧创建所需的输出吗?

最佳答案

使用:.crosstab()

pd.crosstab(df.id,df.fruit)
Out[251]:
fruit apple grapes lemon orange watermelon
id
101 1 0 0 1 1
102 1 0 0 1 0
103 0 1 0 0 0
104 0 0 2 0 0
105 1 0 1 0 0

关于python - 如何返回 pandas 数据框中每个项目的每个值的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50649700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com