这是我的数据框:
ID Tell Number
0 1 Yes 3
1 1 Yes 6
2 1 No 9
3 2 Yes 4
4 2 Yes 7
5 2 No 8
6 3 Yes 15
7 3 Yes 8
8 3 No 6
9 3 Yes 13
# Creating the dictionary
dic = {'ID': [1,1,1,2,2,2,3,3,3,3], 'Tell': ['Yes', 'Yes', 'No', 'Yes','Yes', 'No','Yes', 'Yes','No', 'Yes'], 'Number': [3,6,9,4,7,8,15,8,6,13]}
# Creating the dataframe
df = pd.DataFrame(dic)
我想创建第 4 列,为我提供每个 ID 的平均值。仅当 Tell 列为 Yes 时,该行才用于计算平均值。
所以,我的结果 df 应该是这样的:
ID Tell Number mean
0 1 Yes 3 4.5
1 1 Yes 6 4.5
2 1 No 9 4.5
3 2 Yes 4 5.5
4 2 Yes 7 5.5
5 2 No 8 5.5
6 3 Yes 15 12
7 3 Yes 8 12
8 3 No 6 12
9 3 Yes 13 12
我正在考虑对我的 ID 列进行分组,然后检查 Tell 列中是否存在 Yes 或 No。我不确定如何实施。
请帮忙
牛魔王的故事
相关分类