Rumah >pembangunan bahagian belakang >Tutorial Python >Kaedah Manakah yang Lebih Cepat untuk Mencipta Lajur Baharu dalam Pandas DataFrame: Pandas Apply atau 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:
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!