熊猫:按符合条件的列分组

塞格司得

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

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)

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

  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条件时,我只会得到错误。谁能提供解决方案?TIA

用户名

分组并选择一列后,该列dog在您选择的上下文中将不再存在(即使您选择的是正确的列)。

第一过滤您的数据帧,然后groupbymean

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

       breed  rating
0  Chihuahua     8.5
1  Dalmatian    10.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章