Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Meluluskan Hujah untuk Menggunakan Fungsi untuk Siri Pandas dalam Python?

Bagaimana untuk Meluluskan Hujah untuk Menggunakan Fungsi untuk Siri Pandas dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 22:50:02160semak imbas

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

Melalukan Argumen ke Siri Guna Fungsi dalam Python Panda

Perpustakaan panda menyediakan kaedah 'apply()' untuk menggunakan fungsi pada setiap elemen Siri. Walau bagaimanapun, versi lama panda tidak membenarkan hujah tambahan dihantar ke fungsi.

Penyelesaian untuk Versi Lama Panda:

Untuk mengendalikan pengehadan ini dalam versi lama panda, anda boleh menggunakan fungsi 'functools.partial()' atau 'lambda':

Menggunakan 'functools.partial()':

<code class="python">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)</code>

Menggunakan 'lambda':

<code class="python"># 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)</code>

Penyelesaian untuk Versi Baru Panda:

Sejak Oktober 2017, panda menyokong menghantar kedua-dua argumen kedudukan dan kata kunci terus kepada kaedah 'apply()':

<code class="python">series.apply(my_function, args=(2, 3, 4), extra_kw={"example": 5})</code>

Dalam sintaks ini, argumen kedudukan ditambahkan selepas elemen Siri, manakala hujah kata kunci diluluskan sebagai kamus.

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Hujah untuk Menggunakan Fungsi untuk Siri Pandas dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn