gpt4 book ai didi

python - 如何计算 Pandas 中具有精确字符串匹配的组中的行数?

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:20 27 4
gpt4 key购买 nike

我有一个数据框,我想按某列进行分组,然后计算与其他列具有精确字符串匹配的行数。假设所有数据类型都是“对象”。

在伪代码中,我正在寻找类似的东西:

df.groupby('A').filter(x['B'] == '0').size()

我想按“A”列进行分组,然后计算“B”列中与字符串“0”完全匹配的行数。

编辑:我找到了一个不优雅的解决方案:

def counter(group):
i = 0
for item in group:
if item == '0':
i = i + 1
return i

df.groupby('A')['B'].agg(counter)

一定有更好的方法。

最佳答案

我认为您在问题中提出的解决方案没有太大问题。如果您想将其制作为单衬,您可以执行以下操作:

data = np.array(list('abcdefabc')).reshape((3, 3))
df = pd.DataFrame(data, columns=list('ABC'))
df

A B C
0 a b c
1 d e f
2 a b c

df.groupby('A').agg(lambda x:list(x).count('c'))


B C
A
a 0 2
d 0 0

这样做的优点是可以提供原始数据框中每列的所有值

关于python - 如何计算 Pandas 中具有精确字符串匹配的组中的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33786386/

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