gpt4 book ai didi

python - Pandas 根据另一列中的条件计算一列中的数字

转载 作者:行者123 更新时间:2023-12-05 00:56:06 24 4
gpt4 key购买 nike

在注册 > 0 的情况下,我需要计算 id 出现的次数。这就是我到目前为止所拥有的......关于如何做到这一点的任何想法?谢谢!

raw_data = [['a', '0'], ['a', '0'], ['a', '1'], ['b', '0'], ['b', '0.5'], ['c', '0'], ['c', '0']]
df = pd.DataFrame(raw_data, columns = ['id', 'enroll'])
df

enter image description here

def countidsperenroll():
for i in df['id']:
if (enroll>0):
return value.count()
continue

结果应该是一个包含以下内容的表格:值(value)观:

3
2
0

因为有 3 个 'a' id,并且有一个带有 'a' id 之一的 enroll> 0。因为有 2 个 'b' id,并且有一个 enroll > 0 和一个 'b' id。 'c' id 没有'enroll',所以得到一个 0。

最佳答案

我们可以用 value_counts

分两步完成
s=df.id.value_counts()
s.loc[~s.index.isin(df.loc[df.enroll>0,'id'].unique())]=0
s
a 3
c 0
b 2
Name: id, dtype: int64

关于python - Pandas 根据另一列中的条件计算一列中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62984719/

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