如何使用分组数据框根据条件访问基于行
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
我是 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
你应该使用这个
language_conversion.loc[(slice(None),'Spanish'), 'user_id']
slice(None) 此处包括日期索引中的所有行。
如果您有一个特定的日期,只需将 slice(None) 替换为该特定日期即可。
您遇到的错误是因为您在索引之前访问了列,这是不正确的做法,请按照 link 了解更多信息 indexing