Mencipta DataFrame Kosong: Perbandingan Pendekatan
Kaedah tradisional untuk mencipta DataFrame panda kosong dan mengisinya secara beransur-ansur boleh menjadi tidak cekap dan ingatan -intensif. Pendekatan yang lebih optimum ialah mengumpul data dalam senarai dan menukarnya menjadi DataFrame apabila perlu.
Kelebihan Pengumpulan Senarai:
-
Kecekapan memori: Senarai ialah struktur data ringan yang menggunakan kurang memori berbanding dengan DataFrames.
-
Prestasi: Melampirkan pada senarai adalah jauh lebih pantas daripada menambahkan berulang kali pada DataFrame.
-
Inferens jenis data automatik: Apabila senarai ditukar kepada DataFrame, panda akan secara automatik menentukan data yang sesuai jenis.
-
Penciptaan indeks automatik: RangeIndex dicipta secara automatik untuk data, menghapuskan keperluan untuk penetapan indeks manual.
Kod Contoh untuk Pengumpulan Senarai:
data = []
for row in some_function_that_yields_data():
data.append(row)
df = pd.DataFrame(data)
Pendekatan Berhati-hati untuk Elakkan:
-
Pelampiran Berulang pada DataFrame: Elakkan menggunakan df.append atau pd.concat dalam gelung atas sebab prestasi. Pendekatan ini membawa kepada operasi kerumitan kuadratik.
-
Menggunakan loc dalam Gelung: Menambah menggunakan df.loc[len(df)] juga mengakibatkan peruntukan memori yang tidak cekap.
- DataFrame Kosong NaNs: Mencipta DataFrame yang diisi dengan NaNs boleh mencipta lajur objek, yang boleh menghalang prestasi.
Keputusan Penanda Aras:
Hasil penanda aras menunjukkan bahawa pengumpulan senarai adalah lebih cepat daripada kaedah lelaran tradisional melampirkan. Apabila DataFrame semakin besar, perbezaan masa menjadi lebih ketara.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mencipta Pandas DataFrame?. 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