gpt4 book ai didi

python pandas groupby 然后计算满足条件的行

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:38 26 4
gpt4 key购买 nike

我正在尝试对 id 列 进行分组,以便可以显示 col1 中等于 1 的行数。

df:

id col1 col2 col3
a 1 1 1
a 0 1 1
a 1 1 1
b 1 0 1

我的代码:

df.groupby(['id'])[col1].count()[1]

我得到的输出是2。它没有向我显示其他id(例如b)的值。

我想要:

id col1
a 2
b 1

如果可能的话,每个id的总行数也可以显示为新列吗?

示例:

id col1 total
a 2 3
b 1 1

最佳答案

假设 col1 中只有 1 和 0,则可以使用 agg:

df.groupby('id', as_index=False)['col1'].agg({'col1': 'sum', 'total': 'count'})

# id total col1
#0 a 3 2
#1 b 1 1

关于python pandas groupby 然后计算满足条件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41687969/

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