Неоднозначность в определении «оси» Pandas Dataframe/Numpy Array ⇐ Python
-
Гость
Неоднозначность в определении «оси» Pandas Dataframe/Numpy Array
Меня очень смущает то, как определяются оси Python и относятся ли они к строкам или столбцам DataFrame. Рассмотрим код ниже:
>>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=[ «столбец1», «столбец2», «столбец3», «столбец4»]) >>> дф столбец1 столбец2 столбец3 столбец4 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 Итак, если мы вызовем df.mean(axis=1), мы получим среднее значение по строкам:
>>> df.mean(ось=1) 0 1 1 2 2 3 Однако, если мы вызываем df.drop(name, axis=1), мы на самом деле удаляем столбец, а не строку:
>>> df.drop("col4", axis=1) столбец1 столбец2 столбец3 0 1 1 1 1 2 2 2 2 3 3 3 Может кто-нибудь помочь мне понять, что означает «ось» в pandas/numpy/scipy?
Примечание: DataFrame.mean может быть определен неправильно. В документации к DataFrame.mean говорится, что axis=1 должен означать среднее значение по столбцам, а не по строкам...
Меня очень смущает то, как определяются оси Python и относятся ли они к строкам или столбцам DataFrame. Рассмотрим код ниже:
>>> df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=[ «столбец1», «столбец2», «столбец3», «столбец4»]) >>> дф столбец1 столбец2 столбец3 столбец4 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 Итак, если мы вызовем df.mean(axis=1), мы получим среднее значение по строкам:
>>> df.mean(ось=1) 0 1 1 2 2 3 Однако, если мы вызываем df.drop(name, axis=1), мы на самом деле удаляем столбец, а не строку:
>>> df.drop("col4", axis=1) столбец1 столбец2 столбец3 0 1 1 1 1 2 2 2 2 3 3 3 Может кто-нибудь помочь мне понять, что означает «ось» в pandas/numpy/scipy?
Примечание: DataFrame.mean может быть определен неправильно. В документации к DataFrame.mean говорится, что axis=1 должен означать среднее значение по столбцам, а не по строкам...
Мобильная версия