Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Group Data 2.0 | Explore Dataset
Introduction to Python for Data Analysis

book
Group Data 2.0

Let's imagine the situation where you want to group by job_title, but then you want to group by experience_level , for example.

Here, everything is so simple you need just put several columns in needed order to groupby function:

import pandas as pd

df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/INTRO+to+Python/ds_salaries.csv', index_col = 0)

df = df.groupby(['job_title', 'experience_level']).mean()

print(df)
1234567
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/INTRO+to+Python/ds_salaries.csv', index_col = 0) df = df.groupby(['job_title', 'experience_level']).mean() print(df)
copy

Look at the output.

output

By the way, if you don't want to group the whole table, you can specify the name of columns for which we should apply grouping. For instance, look at the previous code. If we want to calculate the mean value only for the 'salary' column, we specify needed columns, but do not forget about columns that should be grouped:

import pandas as pd

df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/INTRO+to+Python/ds_salaries.csv', index_col = 0)

df = df[['salary','job_title', 'experience_level']].groupby(['job_title', 'experience_level']).mean()

print(df)
1234567
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/INTRO+to+Python/ds_salaries.csv', index_col = 0) df = df[['salary','job_title', 'experience_level']].groupby(['job_title', 'experience_level']).mean() print(df)
copy

Be careful; if you want to work with several columns, you have to put them into [[]] (look at the example).

Look at the result:

result

Taak

Swipe to start coding

Your task here is to work with the known dataset and count amount of users for each plan depending on the status of their trial. To do it, follow the algorithm:

  1. Group by 'plan' column, then by 'trial' column, using only three columns: 'user_id', 'plan', 'trial'. Apply the count() function.
  2. Print the df using only print() function.

Oplossing

# Import the pandas
import pandas as pd

# Read the file
df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/783d7288-e86b-4b89-9966-a2fe97995277/section_2_dataset_upd.csv')

# Group the data
df = df[['user_id', 'plan', 'trial']].groupby(['plan', 'trial']).count()

# Print the df
print(df)

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 9
# Import the pandas
import pandas as pd

# Read the file
df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/783d7288-e86b-4b89-9966-a2fe97995277/section_2_dataset_upd.csv')

# Group the data
df = df[[___]].___(___).___

# Print the df
___

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt