Применение функции apply в библиотеке pandas
Pandas apply - это метод в библиотеке Pandas, который позволяет применить функцию к каждому элементу или столбцу объекта типа DataFrame.
Он является важным инструментом для манипуляции данными в Pandas и позволяет выполнять различные операции над значениями.
Метод apply может быть использован для применения пользовательских функций или встроенных функций к каждому элементу или столбцу DataFrame. Он может быть полезен в следующих случаях:
- Применение функции к каждому элементу столбца: Это позволяет выполнить операцию на каждом значении определенного столбца. Например, если у нас есть столбец с ценами и мы хотим применить функцию, которая добавляет налоги к каждой цене, мы можем использовать метод apply для этого.
Пример кода:
<pre><code class="language-python">import pandas as pd
# Создаем DataFrame
data = {'Цена': [10, 20, 30, 40]}
df = pd.DataFrame(data)
# Функция для добавления налогов к цене
def add_tax(price):
tax = 0.1 * price
return price + tax
# Применяем функцию к столбцу Цена
df['Цена'] = df['Цена'].apply(add_tax)
print(df)
</code></pre>
В этом примере мы создаем DataFrame с одним столбцом "Цена" и применяем функцию add_tax() к этому столбцу с помощью метода apply(). Функция add_tax() принимает значение стоимости и добавляет к нему налог в размере 10%. Результат выводится на экран, и мы получим новое значение столбца "Цена", включающее добавленные налоги.
- Применение функции к каждой строке объекта DataFrame: Если мы хотим выполнить некоторые операции над каждой строкой DataFrame, мы также можем использовать метод apply().
Пример кода:
<pre><code class="language-python">import pandas as pd
# Создаем DataFrame
data = {'Имя': ['Анна', 'Мария', 'Иван'],
'Возраст': [25, 30, 35]}
df = pd.DataFrame(data)
# Функция для добавления приветствия к имени
def add_greeting(row):
name = row['Имя']
greeting = 'Привет, ' + name
return greeting
# Применяем функцию к каждой строке
df['Приветствие'] = df.apply(add_greeting, axis=1)
print(df)
</code></pre>
Здесь мы создаем DataFrame с двумя столбцами: "Имя" и "Возраст". Мы определяем функцию add_greeting(), которая принимает каждую строку DataFrame как аргумент, извлекает значение имени и добавляет приветствие. Затем мы применяем эту функцию к каждой строке с помощью метода apply(). Результат выводится на экран и содержит новый столбец "Приветствие" с добавленными приветствиями для каждой строки.
- Применение встроенных функций: Кроме пользовательских функций, метод apply() также может быть использован для применения встроенных функций к каждому элементу или столбцу DataFrame.
Пример кода:
<pre><code class="language-python">import pandas as pd
# Создаем DataFrame
data = {'Оценка': [90, 85, 95, 80]}
df = pd.DataFrame(data)
# Применяем встроенную функцию sqrt() к столбцу Оценка
df['Корень'] = df['Оценка'].apply(lambda x: math.sqrt(x))
print(df)
</code></pre>
В этом примере мы создаем DataFrame с одним столбцом "Оценка". Мы используем встроенную функцию sqrt() из модуля math для вычисления квадратного корня каждого значения в столбце, применяя ее с помощью метода apply(). Результат выводится на экран и содержит новый столбец "Корень" с вычисленными квадратными корнями.
В заключение, метод apply() является мощным инструментом в библиотеке Pandas, который позволяет применять функции к каждому элементу или столбцу DataFrame. Он может быть использован для применения пользовательских функций или встроенных функций, чтобы выполнить различные операции над данными.