pandas | Объясните методы применения и применения карты в DataFrame

машинное обучение

Эта статья взята из личного паблика: TechFlow, оригинальность непроста, прошу внимания


Сегодняобработка данных пандВ пятой статье темы поговорим о некоторых продвинутых операциях панд.

В предыдущей статье мы представили некоторые методы вычисления панад, такие как четыре арифметические операции с двумя фреймами данных и метод заполнения Null в фреймах данных. В сегодняшней статье поговорим о механизме трансляции в фрейме данных и о том, как использовать функцию применения.

передача кадра данных

широковещательный механизмМы на самом деле незнакомы, мы представили трансляцию в теме Numpy раньше. Когда мы рассчитываем два размера непоследовательных аранжировки, система автоматически рассчитает меньшие размеры к другому.

Например, если мы вычтем одномерный массив из двумерного массива, numpy сначала расширит одномерный массив до двумерного, а затем выполнит операцию вычитания. Похоже, что одномерный массив вычитается из каждой строки двумерного массива. Можно понять, что мы транслируем операцию вычитания этого одномерного массива на каждую строку или столбец двумерного массива.

В приведенном выше примере мы создали массив numpy, а затем вычли его первую строку. Когда мы сравним окончательные результаты, мы обнаружим, что в каждой строке массива arr вычтена первая строка.

Ту же операцию можно выполнить и в кадре данных.

Конечно, мы также можем транслировать столбец, но механизм трансляции арифметической операции dataframe по умолчанию действует на строку.Если мы хотим использовать столбец, нам нужно использовать метод арифметической операции и указать ось, которую мы хотим совпадение.

Функция отображения

Еще одним преимуществом панд является то, чтоСовместим с нумпиНекоторые из методов и функций операций позволяют нам применять некоторые функции в numpy к DataFrame, что значительно расширяет методы использования и методы работы.

Например, если мы хотим возвести в квадрат все элементы в DataFrame, мы можем легко сделать это, используя квадратный метод numpy:

Мы можем передать DataFrame в качестве аргумента функции numpy, но что, если мы хотим сами определить метод и применить его к DataFrame?

мы можем использоватьприменить методЭтого легко добиться.Метод apply чем-то похож на собственный метод map в Python, который может выполнять вычисление сопоставления для каждого элемента в DataFrame. Нам нужно только передать метод, который мы хотим применить к DataFrame, в методе применения, что означает, что параметр, который он принимает, является функцией, которая является типичным приложением функционального программирования.

Например, если мы хотим возвести DataFrame в квадрат, мы также можем передать функцию np.square в качестве параметра.

В дополнение к методу применения, который можно использовать для всего DataFrame, мы также можем применить его кстрокаилистолбецИли на определенной части метод применения одинаково. Например, мы можем применить квадратный метод к строке и столбцу в таком виде данных.

Кроме того, объем функций в apply не ограничивается элементами, мы также можем писать функции, которые воздействуют на строку или столбец. Например, если мы хотим вычислить максимальное значение каждого столбца в DataFrame, мы можем написать:

в этой анонимной функцииx на самом деле серия, то max здесь — это метод max, поставляемый с Series. То есть областью применения является серия, хотя конечный результат заключается в том, что каждый элемент был изменен, ноОбласть применения - это не элемент, а серия. Мы работаем со строкой или столбцом с помощью команды «Apply», а строка и столбец применяют изменение к каждому элементу.

Точно так же мы также можем ограничить объект приложения для применения к строкам, и нам также нужно передать ось для ограничения, мы можем передать ось = «столбцы» или указать ось = 1, эффект одинаков.

Кроме того, результат, возвращаемый apply, не обязательно является только скаляром, но также может быть списком или рядом, состоящим из нескольких значений, Фактически, это одно и то же, потому что даже если возвращается список, он будет преобразован в серию.

Наконец, давайте представим applymap, которыйКарта уровня элемента, мы можем использовать его для управления каждым элементом в DataFrame. Например, мы можем использовать его для преобразования формата данных в DataFrame.

Причина, по которой мы называем его applymap вместо map, заключается в том, что в методе Series уже есть карта, поэтому для различения создается applymap.

Здесь следует отметить, что если вы измените команду applymap в приведенном выше коде на apply, будет сообщено об ошибке. Причина ошибки тоже очень проста, потому что областью действия метода apply является не элемент, а Series, а Series не поддерживает такие операции.

Суммировать

В сегодняшней статье мы в основном представляем использование apply и applymap в пандах, Эти два метода очень часто используются в нашей повседневной работе с данными DataFrame, которые можно назвать API-интерфейсом на уровне скальпеля. Знание очень полезно для нас, чтобы иметь дело с обработкой данных.Если вы понимаете применение собственного метода карты в Python, я полагаю, что вы также можете легко понять сегодняшнюю статью.

Сегодняшняя статья здесь, если вам понравилась эта статья, пожалуйста, приходите на волнукачество три, поддержите меня (Подписывайтесь, делайте репосты, лайкайте).

- END -