Penggabungan DataFrames Secara Eksponen Lambat
Apabila bekerja dengan set data yang besar, adalah perkara biasa untuk membahagikan data kepada bahagian yang lebih kecil untuk pemprosesan yang cekap. Walau bagaimanapun, penyatuan kembali ketulan ini boleh menjadi lebih perlahan apabila bilangan ketulan bertambah.
Punca Kelembapan
Kelembaban itu dikaitkan dengan cara pd.concat() dilaksanakan. Apabila dipanggil dalam gelung, ia mencipta DataFrame baharu untuk setiap gabungan, menghasilkan penyalinan data yang banyak. Kos penyalinan ini meningkat secara kuadratik dengan bilangan lelaran, yang membawa kepada peningkatan eksponen yang diperhatikan dalam masa pemprosesan.
Mengelakkan Kelembapan
Untuk mengelakkan kesesakan prestasi ini, adalah penting untuk mengelak daripada memanggil pd.concat() di dalam gelung untuk. Sebaliknya, simpan ketulan dalam senarai dan gabungkan kesemuanya sekali gus selepas diproses:
super_x = [] for i, df_chunk in enumerate(df_list): [x, y] = preprocess_data(df_chunk) super_x.append(x) super_x = pd.concat(super_x, axis=0)
Menggunakan pendekatan ini, penyalinan hanya berlaku sekali, dengan ketara mengurangkan masa pemprosesan keseluruhan.
Atas ialah kandungan terperinci Mengapa Menggabungkan Banyak Bingkai Data Panda Secara Eksponen Lambat, dan Bagaimana Saya Boleh Mengelakkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!