«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как передать аргументы для применения функций для серии Pandas в Python?

Как передать аргументы для применения функций для серии Pandas в Python?

Опубликовано 6 ноября 2024 г.
Просматривать:235

How to Pass Arguments to Apply Functions for Pandas Series in Python?

Передача аргументов в функции применения серий в Python Pandas

Библиотека pandas предоставляет метод 'apply()' применить функцию к каждому элементу серии. Однако более старые версии Pandas не позволяют передавать дополнительные аргументы функции.

Решение для старых версий Pandas:

Чтобы справиться с этим ограничением в старых версиях панд вы можете использовать функции 'functools.partial()' или 'lambda':

Использование 'functools.partial()':

import functools
import operator

# Define a function with multiple arguments
def add_3(a, b, c):
    return a   b   c

# Create a partial function by binding extra arguments
add_3_partial = functools.partial(add_3, 2, 3)

# Apply the partial function to a series
series.apply(add_3_partial)

Использование 'lambda':

# Create a lambda function to pass extra arguments to the apply method
lambda_func = lambda x: my_function(a, b, c, d, ..., x)

# Apply the lambda function to the series
series.apply(lambda_func)

Решение для новых версий Pandas:

С октября 2017 года pandas поддерживает передачу как позиционных, так и ключевых аргументов непосредственно в ' apply()' метод:

series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})

В этом синтаксисе позиционные аргументы добавляются после элемента Series, а аргументы ключевых слов передаются как словарь.

Заявление о выпуске Эта статья перепечатана по адресу: 1729604416. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3