Разница между осью = 0 и осью = 1 в Pandas


Многие функции в pandas требуют, чтобы вы указали ось, вдоль которой применяется определенный расчет.

Обычно применяется следующее эмпирическое правило:

  • axis=0 : применить вычисление «по столбцам»
  • axis=1 : применить вычисление «построчно»

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
 'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

 team points assists rebounds
0 A 25 5 11
1 A 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12

Пример 1. Найдите среднее значение по разным осям

Мы можем использовать ось = 0 , чтобы найти среднее значение каждого столбца в DataFrame:

#find mean of each column
df.mean (axis= 0 )

points 20.250
assists 7.750
rebounds 8.375
dtype: float64

Вывод показывает среднее значение каждого числового столбца в DataFrame.

Обратите внимание, что pandas автоматически избегает вычисления среднего значения столбца «команда», потому что это столбец символов.

Мы также можем использовать ось = 1 , чтобы найти среднее значение каждой строки в DataFrame:

#find mean of each row
df.mean (axis= 1 )

0 13.666667
1 9.000000
2 10.666667
3 9.666667
4 12.333333
5 12.333333
6 14.333333
7 15.000000
dtype: float64

Из вывода мы видим:

  • Среднее значение в первой строке равно 13,667 .
  • Среднее значение во второй строке равно 9.000 .
  • Среднее значение в третьей строке равно 10,667 .

И так далее.

Пример 2. Найдите сумму по разным осям

Мы можем использовать ось = 0 , чтобы найти сумму определенных столбцов в DataFrame:

#find sum of 'points' and 'assists' columns
df[['points', 'assists']]. sum (axis= 0 )

points 162
assists 62
dtype: int64

Мы также можем использовать ось = 1 , чтобы найти сумму каждой строки в DataFrame:

#find sum of each row
df.sum (axis= 1 )

0 41
1 27
2 32
3 29
4 37
5 37
6 43
7 45
dtype: int64

Пример 3. Найдите максимум по разным осям

Мы можем использовать ось = 0 , чтобы найти максимальное значение определенных столбцов в DataFrame:

#find max of 'points', 'assists', and 'rebounds' columns
df[['points', 'assists', 'rebounds']]. max (axis= 0 )

points 29
assists 12
rebounds 12
dtype: int64

Мы также можем использовать ось = 1 , чтобы найти максимальное значение каждой строки в DataFrame:

#find max of each row
df.max (axis= 1 )

0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
dtype: int64

Из вывода мы видим:

  • Максимальное значение в первой строке равно 25 .
  • Максимальное значение во второй строке равно 12 .
  • Максимальное значение в третьей строке равно 15 .

И так далее.

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.