Я очень смутился о том, как определяются оси python и относятся ли они к строкам или столбцам DataFrame. Рассмотрим следующий код:
>>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"])
>>> df
col1 col2 col3 col4
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
Итак, если мы назовем df.mean(axis=1)
, мы получим среднее значение по строкам:
>>> df.mean(axis=1)
0 1
1 2
2 3
Однако, если мы вызываем df.drop(name, axis=1)
, мы фактически удаляем столбец, а не строку:
>>> df.drop("col4", axis=1)
col1 col2 col3
0 1 1 1
1 2 2 2
2 3 3 3
Может кто-нибудь помочь мне понять, что подразумевается под "осью" в pandas/numpy/scipy?
Боковое примечание, DataFrame.mean
просто может быть определено неправильно. В документации для DataFrame.mean
говорится, что axis=1
означает среднее значение по столбцам, а не строки...