相关疑难解决方法(0)

Groupby值计入数据帧pandas

我有以下数据帧:

df = pd.DataFrame([
    (1, 1, 'term1'),
    (1, 2, 'term2'),
    (1, 1, 'term1'),
    (1, 1, 'term2'),
    (2, 2, 'term3'),
    (2, 3, 'term1'),
    (2, 2, 'term1')
], columns=['id', 'group', 'term'])
Run Code Online (Sandbox Code Playgroud)

我把它通过想组idgroup并计算每个词的数量为这个ID,组对.

所以最后我会得到这样的东西:

在此输入图像描述

通过循环遍历所有行df.iterrows()并创建新数据帧,我能够实现我想要的目标,但这显然效率低下.(如果有帮助,我事先知道所有术语的列表,其中有~10个).

看起来我必须分组然后计算值,所以我尝试使用df.groupby(['id', 'group']).value_counts()哪个不起作用,因为value_counts在groupby系列而不是数据帧上运行.

无论如何,我可以实现这一点而不循环?

python crosstab dataframe pandas pandas-groupby

35
推荐指数
5
解决办法
4万
查看次数

标签 统计

crosstab ×1

dataframe ×1

pandas ×1

pandas-groupby ×1

python ×1