Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Cekap Gelung Melalui Bingkai Data Pandas?

Bagaimana untuk Cekap Gelung Melalui Bingkai Data Pandas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-13 03:45:02568semak imbas

How to Efficiently Loop Through Pandas Dataframes?

Kaedah Paling Cekap untuk Menggelung Melalui Bingkai Data dalam Panda

Apabila bekerja dengan data kewangan kompleks yang disimpan dalam bingkai data, teknik lelaran yang cekap menjadi penting. Pendekatan tradisional menggunakan enumerate(df.values) boleh menjadi tidak cekap. Nasib baik, panda telah memperkenalkan penyelesaian yang lebih optimum.

Menggunakan Fungsi Pandas iterrows

Versi panda terbaharu menawarkan fungsi iterrows untuk mengulang melalui baris:

for index, row in df.iterrows():
    # Perform logic here

Kaedah ini menyediakan kedua-dua indeks dan data baris, memastikan kecekapan sambil membenarkan tersuai analisis.

Alternatif: Fungsi Pandas itertuples

Pilihan yang lebih pantas ialah menggunakan fungsi itertuples:

for idx, row_obj in df.itertuples(index=True):
    # Perform logic here

Pendekatan ini memanfaatkan fungsi numpy untuk memanipulasi data secara langsung, memintas lelaran baris, yang boleh meningkatkan dengan ketara prestasi.

Menggunakan Operasi Numpy

Seperti yang dicadangkan oleh unutbu, menggunakan fungsi numpy secara langsung boleh memberikan kod terpantas. Daripada lelaran ke atas baris, anda boleh menggunakan operasi pada keseluruhan bingkai data:

df['new_column'] = np.where(df['open'] > 10, 'high', 'low')

Pendekatan ini menghapuskan lelaran yang tidak perlu dan memanfaatkan operasi vektor numpy untuk kecekapan yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Gelung Melalui Bingkai Data 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