如何使用分组数据框根据条件访问基于行

how to access based row based on condition with grouped dataframe

我是 Python 的新手,我想访问已经分组的数据框的一些行(使用 groupby)。

但是,我无法select我想要的行,希望得到你的帮助。

我用于 groupby 的代码如下所示:

language_conversion = house_ads.groupby(['date_served','language_preferred']).agg({'user_id':'nunique',
                                                                                   'converted':'sum'})
language_conversion

结果显示:

例如,我想使用以下方式访问收到自家广告的讲西班牙语的用户的数量:

language_conversion[('user_id','Spanish')]

给我 KeyError('user_id','Spanish')

当我尝试创建一个新列时也是如此,这给了我同样的错误。

感谢您的帮助

使用这个, language_conversion.loc[(slice(None), 'Arabic'), 'user_id']

您可以使用 language_conversion.index

查看索引(在本例中为长度为 2 的元组)

你应该使用这个

language_conversion.loc[(slice(None),'Spanish'), 'user_id']

slice(None) 此处包括日期索引中的所有行。

如果您有一个特定的日期,只需将 slice(None) 替换为该特定日期即可。

您遇到的错误是因为您在索引之前访问了列,这是不正确的做法,请按照 link 了解更多信息 indexing