Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengulang Melalui Pandas DataFrames dengan Cekap?

Bagaimana untuk Mengulang Melalui Pandas DataFrames dengan Cekap?

DDD
DDDasal
2024-11-12 22:03:011013semak imbas

How to Iterate Through Pandas DataFrames Efficiently?

Lelaran DataFrames yang Cekap dengan Panda

Dalam analisis data, selalunya perlu melakukan operasi pada data yang disimpan dalam bingkai data. Apabila berurusan dengan data kewangan, yang boleh menjadi sangat banyak, adalah penting untuk mencari cara yang cekap untuk mengulangi kerangka data.

Satu pendekatan biasa ialah menggunakan gelung for untuk mengulangi baris bingkai data, seperti yang ditunjukkan dalam yang berikut kod:

for i, row in enumerate(df.values):
    date = df.index[i]
    open, high, low, close, adjclose = row
    # perform analysis on open/close based on date, etc..

Walau bagaimanapun, kaedah ini boleh menjadi tidak cekap, terutamanya untuk bingkai data yang besar. Sebaliknya, adalah disyorkan untuk menggunakan fungsi terbina dalam Pandas yang direka khusus untuk lelaran baris:

for index, row in df.iterrows():

    # do some logic here

Untuk lelaran yang lebih pantas, pertimbangkan untuk menggunakan kaedah itertuples() Pandas:

for row in df.itertuples():

    # do some logic here

Dalam kes tertentu, mengelakkan lelaran baris sama sekali dengan memanfaatkan fungsi NumPy boleh menghasilkan yang paling cepat kod:

open = df['Open'].values
close = df['Close'].values

# perform logic on open and close without iterating over rows

Dengan memilih kaedah lelaran yang paling sesuai berdasarkan saiz data dan kelajuan yang diingini, anda boleh mengoptimumkan prestasi operasi analisis data anda dalam Pandas.

Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Pandas DataFrames dengan Cekap?. 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