Mencipta dan Mengisi DataFrame Panda Kosong
Secara konsep, seseorang mungkin mahu bermula dengan mencipta DataFrame kosong dan kemudian mengisinya secara berperingkat dengan nilai . Walau bagaimanapun, pendekatan ini tidak cekap dan terdedah kepada masalah prestasi.
Kesalahan Membangunkan DataFrame Dari segi Barisan
Menambahkan baris secara berulang pada DataFrame kosong adalah mahal dari segi pengiraan . Ia membawa kepada operasi kerumitan kuadratik disebabkan oleh peruntukan memori dinamik dan penugasan semula yang diperlukan. Ini boleh menjejaskan prestasi dengan teruk, terutamanya apabila berurusan dengan set data yang besar.
Pendekatan Alternatif: Mengumpul Data dalam Senarai
Daripada mengembangkan DataFrame mengikut baris, ia lebih baik disyorkan untuk mengumpul data dalam senarai. Ini mempunyai beberapa kelebihan:
Membuat DataFrame daripada Senarai
Apabila data telah terkumpul dalam senarai, DataFrame boleh dibuat dengan mudah dengan menukar senarai menggunakan pd .DataFrame(). Ini memastikan inferens jenis data yang betul dan mengautomasikan menetapkan RangeIndex untuk DataFrame.
Contoh
Pertimbangkan senario yang diterangkan dalam soalan. Kod berikut menunjukkan cara untuk mengumpul data dalam senarai dan kemudian mencipta DataFrame:
import pandas as pd data = [] dates = [pd.to_datetime(f"2023-08-{day}") for day in range(10, 0, -1)] valdict = {'A': [], 'B': [], 'C': []} # Initialize symbol value lists for date in dates: for symbol in valdict: if date == dates[0]: valdict[symbol].append(0) else: valdict[symbol].append(1 + valdict[symbol][-1]) # Create a DataFrame from the accumulated data df = pd.DataFrame(valdict, index=dates)
Pendekatan ini memastikan pengumpulan data yang cekap dan penciptaan DataFrame yang lancar tanpa sebarang overhed prestasi atau kebimbangan tentang lajur objek.
Atas ialah kandungan terperinci Mengapakah Mengisi Bingkai Data Pandas Baris-demi-Baris Tidak Cekap, dan Apakah Pendekatan yang Lebih Baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!