gpt4 book ai didi

python - 使用条件 Pandas DataFrame 计算 If

转载 作者:行者123 更新时间:2023-12-02 09:27:30 25 4
gpt4 key购买 nike

我有一个数据框:

   A    B    C   
0 xx No 1
1 xx No 2
2 xx Yes 3
3 xx Yes 4
4 xx No 1
5 xx No 2
6 xx No 3
7 xx Yes 4
8 xx No 1
9 xx No 2

如果要创建一个列来统计某个数字在 C 列中出现的次数,当 B 列等于"is"时

所以输出是

   A    B    C   countifs   
0 xx No 1
1 xx No 2
2 xx Yes 3 1
3 xx Yes 4 2
4 xx No 1
5 xx No 2
6 xx No 3
7 xx Yes 4 2
8 xx No 1
9 xx No 2

这可能吗?

最佳答案

对于仅计数 True 的值,请使用 GroupBy.transform sum 仅适用于按掩码过滤的行:

m = df['B'].eq('Yes')
df['countifs'] = m.groupby(df.loc[m, 'C']).transform('sum').fillna('')
print (df)
A B C countifs
0 xx No 1
1 xx No 2
2 xx Yes 3 1
3 xx Yes 4 2
4 xx No 1
5 xx No 2
6 xx No 3
7 xx Yes 4 2
8 xx No 1
9 xx No 2

关于python - 使用条件 Pandas DataFrame 计算 If,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60634732/

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