Home > front end >  how to access based row based on condition with grouped dataframe
how to access based row based on condition with grouped dataframe

Time:01-05

I am new to Python and I want to access some rows for an already grouped dataframe (used groupby).

However, I am unable to select the row I want and would like your help.

The code I used for groupby shown below:

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

Result shows: enter image description here

For example, I want to access the number of Spanish-speaking users who received house ads using:

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

gives me KeyError('user_id','Spanish')

This is the same when I try to create a new column, which gives me the same error.

Thanks for your help

CodePudding user response:

you should use this

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

slice(None) here includes all rows in date index.

if you have one particular date in mind just replace slice(None) with that specific date.

the error you are getting is because u accessed columns before indexes which is not correct way of doing it follow the link to learn more indexing

CodePudding user response:

Use this, language_conversion.loc[(slice(None), 'Arabic'), 'user_id']

You can see the indices(in this case tuples of length 2) using language_conversion.index

  •  Tags:  
  • Related