Я очень смутился о том, как определяются оси 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 означает среднее значение по столбцам, а не строки...

