Выборочное среднее python pandas

Содержание
  1. Как рассчитать сводную статистику для Pandas DataFrame
  2. Пример 1. Расчет сводной статистики для всех числовых переменных
  3. Пример 2. Расчет сводной статистики для всех строковых переменных
  4. Пример 3. Вычисление сводной статистики, сгруппированной по переменной
  5. Дополнительные ресурсы
  6. Среднее значение mean() в DataFrame Pandas
  7. Пример 2
  8. Пример 3: по строкам
  9. Как рассчитать среднее значение выбранных столбцов в Pandas
  10. Метод 1: вычислить среднее значение строки для всех столбцов
  11. Метод 2: вычислить среднее значение строки для определенных столбцов
  12. Дополнительные ресурсы
  13. Как рассчитать среднее значение столбцов в Pandas
  14. Пример 1. Найдите среднее значение одного столбца
  15. Пример 2. Найдите среднее значение нескольких столбцов
  16. Пример 3. Найдите среднее значение всех столбцов
  17. Как рассчитать условное среднее значение в Pandas (с примерами)
  18. Пример 1: Расчет условного среднего для категориальной переменной
  19. Пример 2. Вычисление условного среднего для числовой переменной
  20. Дополнительные ресурсы

Как рассчитать сводную статистику для Pandas DataFrame

Вы можете использовать следующие методы для расчета сводной статистики для переменных в pandas DataFrame:

Метод 1: вычислить сводную статистику для всех числовых переменных

Метод 2: вычислить сводную статистику для всех строковых переменных

Метод 3: вычислить сводную статистику, сгруппированную по переменной

df.groupby('group_column').mean() df.groupby('group_column'). median () df.groupby('group_column'). max () . 

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd import numpy as np #create DataFrame df = pd.DataFrame() #view DataFrame print(df) team points assists rebounds 0 A 18 5.0 11.0 1 A 22 NaN 8.0 2 A 19 7.0 10.0 3 A 14 9.0 6.0 4 B 14 12.0 6.0 5 B 11 9.0 5.0 6 B 20 9.0 9.0 7 B 28 4.0 NaN 8 B 30 5.0 6.0 

Пример 1. Расчет сводной статистики для всех числовых переменных

В следующем коде показано, как рассчитать сводную статистику для каждой числовой переменной в DataFrame:

df.describe () points assists rebounds count 9.000000 8.000000 8.000000 mean 19.555556 7.500000 7.625000 std 6.366143 2.725541 2.199838 min 11.000000 4.000000 5.000000 25% 14.000000 5.000000 6.000000 50% 19.000000 8.000000 7.000000 75% 22.000000 9.000000 9.250000 max 30.000000 12.000000 11.000000 

Мы можем видеть следующую сводную статистику для каждой из трех числовых переменных:

  • count: количество ненулевых значений
  • среднее : среднее значение
  • std : стандартное отклонение
  • мин: минимальное значение
  • 25% : значение на 25-м процентиле.
  • 50% : значение на 50-м процентиле (также медиана)
  • 75% : значение на 75-м процентиле.
  • макс : максимальное значение
Читайте также:  Php framework to start with

Пример 2. Расчет сводной статистики для всех строковых переменных

В следующем коде показано, как рассчитать сводную статистику для каждой строковой переменной в DataFrame:

df.describe (include='object') team count 9 unique 2 top B freq 5 

Мы можем увидеть следующую сводную статистику для одной строковой переменной в нашем DataFrame:

  • count : количество ненулевых значений
  • unique : Количество уникальных значений
  • top: наиболее часто встречающееся значение
  • freq : количество наиболее часто встречающихся значений

Пример 3. Вычисление сводной статистики, сгруппированной по переменной

В следующем коде показано, как вычислить среднее значение для всех числовых переменных, сгруппированных по переменной команды :

df.groupby('team').mean() points assists rebounds team A 18.25 7.0 8.75 B 20.60 7.8 6.50 

В выходных данных отображается среднее значение переменных очков , передач и подборов , сгруппированных по переменной команды .

Обратите внимание, что мы можем использовать аналогичный синтаксис для вычисления другой сводной статистики, такой как медиана:

df.groupby('team'). median () points assists rebounds team A 18.5 7.0 9.0 B 20.0 9.0 6.0 

В выходных данных отображается среднее значение переменных очков , передач и подборов , сгруппированных по переменной команды .

Примечание.Вы можете найти полную документацию для функции описания в pandas здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Источник

Среднее значение mean() в DataFrame Pandas

В этом примере мы рассчитаем среднее значение по столбцам. Мы узнаем средние оценки, полученные студентами по предметам.

import pandas as pd mydictionary = # create dataframe df_marks = pd.DataFrame(mydictionary) print('DataFrame\n----------') print(df_marks) # calculate mean mean = df_marks.mean() print('\nMean\n------') print(mean)
DataFrame ---------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 Mean ------ physics 74.25 chemistry 70.50 algebra 83.75 dtype: float64

Функция mean() возвращает Pandas, это поведение функции mean() по умолчанию. Следовательно, в этом конкретном случае вам не нужно передавать какие-либо аргументы функции mean(). Или, если вы хотите явно указать функцию для вычисления по столбцам, передайте axis = 0, как показано ниже.

Пример 2

В этом примере мы создадим DataFrame с числами, присутствующими во всех столбцах, и вычислим среднее значение.

Из предыдущего примера мы видели, что функция mean() по умолчанию возвращает среднее значение, вычисленное среди столбцов.

import pandas as pd mydictionary = # create dataframe df_marks = pd.DataFrame(mydictionary) print('DataFrame\n----------') print(df_marks) # calculate mean of the whole DataFrame mean = df_marks.mean().mean() print('\nMean\n------') print(mean)
DataFrame ---------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 Mean ------ 76.16666666666667

Пример 3: по строкам

В этом примере мы вычислим среднее значение всех столбцов по строкам или оси = 1. В этом конкретном примере среднее значение по строкам дает среднее значение или процент оценок, полученных каждым учеником.

import pandas as pd mydictionary = # create dataframe df_marks = pd.DataFrame(mydictionary) print('DataFrame\n----------') print(df_marks) # calculate mean along rows mean = df_marks.mean(axis=1) print('\nMean\n------') print(mean) # display names and average marks print('\nAverage marks or percentage for each student') print(pd.concat([df_marks['names'], mean], axis=1))
DataFrame ---------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 Mean ------ 0 76.666667 1 72.666667 2 77.333333 3 78.000000 dtype: float64 Average marks or percentage for each student names 0 0 Somu 76.666667 1 Kiku 72.666667 2 Amol 77.333333 3 Lini 78.000000

В этом руководстве по Pandas мы узнали, как рассчитать среднее значение всего DataFrame, по столбцу (столбцам) и строкам.

Источник

Как рассчитать среднее значение выбранных столбцов в Pandas

Вы можете использовать следующие методы для вычисления средних значений строк для выбранных столбцов в кадре данных pandas:

Метод 1: вычислить среднее значение строки для всех столбцов

Метод 2: вычислить среднее значение строки для определенных столбцов

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df points assists rebounds 0 14 5 11 1 19 7 8 2 9 7 10 3 21 9 6 4 25 12 6 5 29 9 5 6 20 9 9 7 11 4 12 

Метод 1: вычислить среднее значение строки для всех столбцов

Следующий код показывает, как создать новый столбец в DataFrame, который отображает среднее значение строки для всех столбцов:

#define new column that shows the average row value for all columns df['average_all'] = df.mean (axis= 1 ) #view updated DataFrame df points assists rebounds average_all 0 14 5 11 10.000000 1 19 7 8 11.333333 2 9 7 10 8.666667 3 21 9 6 12.000000 4 25 12 6 14.333333 5 29 9 5 14.333333 6 20 9 9 12.666667 7 11 4 12 9.000000 

Вот как интерпретировать вывод:

Среднее значение первой строки рассчитывается как: (14+5+11) / 3 = 10 .

Среднее значение второй строки рассчитывается как: (19+7+8) / 3 = 11,33 .

Метод 2: вычислить среднее значение строки для определенных столбцов

В следующем коде показано, как рассчитать среднее значение строки только для столбцов «очки» и «подборы»:

#define new column that shows average of row values for points and rebounds columns df['avg_points_rebounds'] = df[['points', 'rebounds']]. mean (axis= 1 ) #view updated DataFrame df points assists rebounds avg_points_rebounds 0 14 5 11 12.5 1 19 7 8 13.5 2 9 7 10 9.5 3 21 9 6 13.5 4 25 12 6 15.5 5 29 9 5 17.0 6 20 9 9 14.5 7 11 4 12 11.5 

Вот как интерпретировать вывод:

Среднее значение «очков» и «подборов» в первой строке рассчитывается как: (14+11) / 2 = 12,5 .

Среднее значение «очков» и «подборов» во второй строке рассчитывается как: (19+8) / 2 = 13,5 .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Источник

Как рассчитать среднее значение столбцов в Pandas

Часто вам может быть интересно вычислить среднее значение одного или нескольких столбцов в кадре данных pandas. К счастью, вы можете легко сделать это в pandas, используя функцию mean() .

В этом руководстве показано несколько примеров использования этой функции.

Пример 1. Найдите среднее значение одного столбца

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd import numpy as np #create DataFrame df = pd.DataFrame() #view DataFrame df player points assists rebounds 0 A 25 5 NaN 1 B 20 7 8.0 2 C 14 7 10.0 3 D 16 8 6.0 4 E 27 5 6.0 5 F 20 7 9.0 6 G 12 6 6.0 7 H 15 9 10.0 8 I 14 9 10.0 9 J 19 5 7.0 

Мы можем найти среднее значение столбца под названием «точки», используя следующий синтаксис:

Функция mean() также будет исключать NA по умолчанию. Например, если мы найдем среднее значение столбца «отскоки», первое значение «NaN» будет просто исключено из расчета:

Если вы попытаетесь найти среднее значение столбца, который не является числовым, вы получите сообщение об ошибке:

df['player'].mean() TypeError: Could not convert ABCDEFGHIJ to numeric 

Пример 2. Найдите среднее значение нескольких столбцов

Мы можем найти среднее значение нескольких столбцов, используя следующий синтаксис:

#find mean of points and rebounds columns df[['rebounds', 'points']].mean() rebounds 8.0 points 18.2 dtype: float64 

Пример 3. Найдите среднее значение всех столбцов

Мы можем также найти среднее значение всех числовых столбцов, используя следующий синтаксис:

#find mean of all numeric columns in DataFrame df.mean () points 18.2 assists 6.8 rebounds 8.0 dtype: float64 

Обратите внимание, что функция mean() просто пропустит столбцы, которые не являются числовыми.

Источник

Как рассчитать условное среднее значение в Pandas (с примерами)

Вы можете использовать следующий синтаксис для вычисления условного среднего значения в pandas:

df.loc[df['team'] == 'A', 'points'].mean() 

Это вычисляет среднее значение столбца «точки» для каждой строки в DataFrame, где столбец «команда» равен «А».

В следующих примерах показано, как использовать этот синтаксис на практике со следующими пандами DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame print(df) team points assists 0 A 99 33 1 A 90 28 2 A 93 31 3 B 86 39 4 B 88 34 5 B 82 30 

Пример 1: Расчет условного среднего для категориальной переменной

В следующем коде показано, как вычислить среднее значение столбца «точки» только для строк в DataFrame, где столбец «команда» имеет значение «А».

#calculate mean of 'points' column for rows where team equals 'A' df.loc[df['team'] == 'A', 'points'].mean() 94.0 

Среднее значение в столбце «Очки» для строк, где «команда» равно «А», равно 94 .

Мы можем вручную проверить это, рассчитав среднее значение очков только для строк, где «команда» равна «А»:

Пример 2. Вычисление условного среднего для числовой переменной

В следующем коде показано, как вычислить среднее значение столбца «помощь» только для строк в DataFrame, где столбец «точки» имеет значение больше или равное 90.

#calculate mean of 'assists' column for rows where 'points' >= 90 df.loc[df['points'] >= 90 , 'assists'].mean() 30.666666666666668 

Среднее значение в столбце «ассисты» для строк, где «очки» больше или равны 90, составляет 30,66667 .

Мы можем вручную проверить это, рассчитав среднее значение очков только для строк, где «команда» равна «А»:

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Источник

Оцените статью