Робота із зведеними таблицями
У Python існує аналог методу .groupby()
, який може призвести до такого ж результату. Вибір функції залишається за вами. Давайте розглянемо це на прикладі. За допомогою наступної функції, яка називається .pivot_table()
, ми обчислимо середні значення стовпця 'Length'
для однакових значень у стовпці 'Flight'
:
123456789101112131415import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Пояснення:
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table()
— функція для створення зведених таблиць;data
— датафрейм, який ми використовуємо;values = 'Length'
— аргументvalues
приймає стовпці з однаковою групою, для яких буде виконано обчислення середнього, максимального тощо. Якщо потрібно групувати за кількома стовпцями, вкажіть їх у списку; порядок не має значення;index = 'Flight'
— аргументindex
приймає назву стовпця або стовпців, за якими потрібно групувати. Якщо потрібно групувати за кількома стовпцями, вкажіть їх у списку; порядок має значення, як і у функції.groupby()
;aggfunc = 'mean'
— аналогічно доagg
у методі.groupby()
,aggfunc
має таку ж синтаксис, як іagg
. Можна вказати декілька функцій, передавши їх у списку, або задати функції для різних стовпців за допомогою фігурних дужок.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain the difference between .groupby() and .pivot_table() in more detail?
What other aggregation functions can I use with .pivot_table()?
How can I group by multiple columns using .pivot_table()?
Awesome!
Completion rate improved to 3.03
Робота із зведеними таблицями
Свайпніть щоб показати меню
У Python існує аналог методу .groupby()
, який може призвести до такого ж результату. Вибір функції залишається за вами. Давайте розглянемо це на прикладі. За допомогою наступної функції, яка називається .pivot_table()
, ми обчислимо середні значення стовпця 'Length'
для однакових значень у стовпці 'Flight'
:
123456789101112131415import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Пояснення:
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table()
— функція для створення зведених таблиць;data
— датафрейм, який ми використовуємо;values = 'Length'
— аргументvalues
приймає стовпці з однаковою групою, для яких буде виконано обчислення середнього, максимального тощо. Якщо потрібно групувати за кількома стовпцями, вкажіть їх у списку; порядок не має значення;index = 'Flight'
— аргументindex
приймає назву стовпця або стовпців, за якими потрібно групувати. Якщо потрібно групувати за кількома стовпцями, вкажіть їх у списку; порядок має значення, як і у функції.groupby()
;aggfunc = 'mean'
— аналогічно доagg
у методі.groupby()
,aggfunc
має таку ж синтаксис, як іagg
. Можна вказати декілька функцій, передавши їх у списку, або задати функції для різних стовпців за допомогою фігурних дужок.
Дякуємо за ваш відгук!