Pandas DataFrame Median Function - PullRequest
       32

Pandas DataFrame Median Function

0 голосов
/ 17 декабря 2018

Если у меня есть Pandas DataFrame и я хочу рассчитать медианное значение для каждого столбца, кажется, что ось аргумента = 1 должна давать медиану по столбцам (согласно документации).Но на практике ось = 0 дает медианы столбца.Вот простой воспроизводимый пример:

import pandas as pd

my_data = [[1.1, 2.2, 3.3], [1.2, 2.3, 3.4], [1.3, 2.4, 3.5]]
df = pd.DataFrame(my_data)
print(df.head())

print("\nTry to calculate median with axis=1\n")

print(df.median(axis=1))

Показывает медиану за строкой.Изменение его на ось = 0 показывает медиану по столбцу.Связано ли это с тем, как индекс установлен для DataFrame?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Он делает то, что должен, axis = 1 означает применять функцию к каждой строке.Вы можете видеть из этого другого примера

>>> print(df.sum(axis = 1))
0    6.6
1    6.9
2    7.2
dtype: float64

или эквивалентно

>>> print(df.apply(sum, axis = 1))
0    6.6
1    6.9
2    7.2
dtype: float64

, и вы можете видеть в документации

axis : {0 or ‘index’, 1 or ‘columns’}, default 0

Axis along which the function is applied:

0 or ‘index’: apply function to each column.
1 or ‘columns’: apply function to each row.

Такесли вы хотите рассчитать среднее значение для каждого столбца строки, вы должны использовать axis = 0

0 голосов
/ 17 декабря 2018

Некоторые функции панд ось = 0 и ось = 1 не всегда состоят Так что я рекомендую

df.median(axis='columns')
0    2.2
1    2.3
2    2.4
dtype: float64 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...