Rumah >pembangunan bahagian belakang >Tutorial Python >Kaedah Manakah yang Lebih Cepat untuk Mencipta Lajur Baharu dalam Pandas DataFrame: Pandas Apply atau NumPy Vectorize?

Kaedah Manakah yang Lebih Cepat untuk Mencipta Lajur Baharu dalam Pandas DataFrame: Pandas Apply atau NumPy Vectorize?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 14:40:03791semak imbas

Which Method is Faster for Creating New Columns in a Pandas DataFrame: Pandas Apply or NumPy Vectorize?

Pertimbangan Prestasi Panda dikenakan vs NumPy vectorize untuk Penciptaan Lajur

Walaupun Pandas memohon digunakan secara meluas, prestasinya ketinggalan berbanding NumPy vectorize semasa membuat lajur baharu daripada lajur sedia ada. Perbezaan ini disebabkan oleh fakta bahawa fungsi yang digunakan ialah gelung peringkat Python, yang menanggung overhed yang ketara. Sebaliknya, vectorize menukar fungsi input kepada fungsi Universal, meningkatkan kecekapan dengan ketara.

Tanda Aras Prestasi

Membandingkan gelung peringkat Python dan gunakan dengan raw=True, kami amati:

  • Peta, senaraikan kefahaman dengan zip dan vektorisasikan mempamerkan prestasi yang serupa.
  • gunakan dengan raw=True adalah jauh lebih pantas berbanding tanpa raw=True.

Vektorisasi Benar

Walau bagaimanapun, kedua-dua terpakai dan vektorisasi dikalahkan oleh operasi vektorisasi sebenar seperti np.where, yang melakukan pengiraan mengikut elemen pada tatasusunan NumPy. Pendekatan ini jauh lebih pantas, menghapuskan keperluan untuk gelung.

Pertimbangan Prestasi Selanjutnya

Untuk kesesakan kritikal, pertimbangkan numba, alat yang menyusun fungsi Python kepada C yang sangat dioptimumkan kod. Dengan menggunakan numba, pengiraan boleh dipercepatkan lagi.

Kesimpulan

Apabila mencipta lajur baharu daripada yang sedia ada, NumPy vectorize menawarkan prestasi yang lebih baik berbanding dengan Panda yang digunakan disebabkan oleh vektorisasi aslinya keupayaan. Untuk kecekapan optimum, pengvektoran benar harus digunakan jika berkenaan.

Atas ialah kandungan terperinci Kaedah Manakah yang Lebih Cepat untuk Mencipta Lajur Baharu dalam Pandas DataFrame: Pandas Apply atau NumPy Vectorize?. 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