gpt4 book ai didi

python - Pandas :按满足条件的列分组

转载 作者:太空狗 更新时间:2023-10-30 02:53:09 26 4
gpt4 key购买 nike

我有一个包含三列的数据集:评级、品种和狗。

import pandas as pd
dogs = {'breed': ['Chihuahua', 'Chihuahua', 'Dalmatian', 'Sphynx'],
'dog': [True, True, True, False],
'rating': [8.0, 9.0, 10.0, 7.0]}

df = pd.DataFrame(data=dogs)

我想计算狗为 True 的每个品种的平均 评级。这是预期的:

  breed     rating
0 Chihuahua 8.5
1 Dalmatian 10.0

这是我的尝试:

df.groupby('breed')['rating'].mean().where(dog == True)

这是我得到的错误:

NameError: name 'dog' is not defined

但是当我尝试添加 where 条件时,我只会收到错误。谁能建议解决方案?时间差

最佳答案

一旦您分组并选择一列,您的 dog 列就不再存在于您选择的上下文中(即使存在,您也无法正确访问它)。

首先过滤数据框,然后使用 groupbymean

df[df.dog].groupby('breed')['rating'].mean().reset_index()

breed rating
0 Chihuahua 8.5
1 Dalmatian 10.0

关于python - Pandas :按满足条件的列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50662469/

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