Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menggunakan Fungsi dengan Argumen pada Siri Pandas?

Bagaimana untuk Menggunakan Fungsi dengan Argumen pada Siri Pandas?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 23:15:29231semak imbas

How to Apply a Function with Arguments to a Pandas Series?

Menggunakan Fungsi dengan Argumen pada Siri Panda

Masalah:

Anda perlu gunakan fungsi pada siri panda dengan hujah tambahan. Walau bagaimanapun, kaedah panda apply() hanya menerima fungsi dengan satu hujah.

Penyelesaian:

Versi Panda yang Lebih Baharu (Selepas Oktober 2017) :

pandas apply() telah dikemas kini untuk menyokong hujah kedudukan dan kata kunci. Untuk menghantar parameter, gunakan sintaks berikut:

<code class="python">my_series.apply(your_function, args=(param1, param2, ...), extra_kw=arg1)</code>

Versi Lama Panda:

  1. Menggunakan functools.partial:

Buat fungsi separa menggunakan functools.partial(func, *args, **kwargs) untuk mengikat argumen tambahan pada fungsi anda:

<code class="python">add_3 = functools.partial(operator.add, 3)
my_series.apply(add_3)</code>
  1. Menggunakan ungkapan lambda:

Luluskan fungsi lambda yang menggabungkan argumen tambahan:

<code class="python">my_series.apply(lambda x: your_func(x, arg1, arg2, ...))</code>
  1. Mencipta fungsi tersuai:

Tentukan fungsi tersuai yang menerima semua hujah yang diperlukan, termasuk elemen siri sebagai parameter pertama:

<code class="python">def my_custom_func(x, arg1, arg2, ...):
    return ...

my_series.apply(my_custom_func, args=(arg1, arg2, ...))</code>

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Fungsi dengan Argumen pada Siri Pandas?. 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