Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta DataFrame Kosong untuk Data Siri Masa dengan Cekap Sebelum Mengisinya?

Bagaimanakah Saya Boleh Mencipta DataFrame Kosong untuk Data Siri Masa dengan Cekap Sebelum Mengisinya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 01:43:12758semak imbas

How Can I Efficiently Create an Empty DataFrame for Time-Series Data Before Filling It?

Teka-teki: Mencipta Struktur Data Kosong

Anda bercita-cita untuk membina DataFrame dan seterusnya mengisinya dengan data siri masa. Pada mulanya, anda membayangkan DataFrame kosong yang dilengkapi dengan lajur dan cap masa tertentu, semuanya dihiasi dengan sifar atau nilai NaN.

Pendekatan Semasa: Penyelesaian Tidak Elegan

Kod semasa anda dimulakan DataFrame dengan lajur semua-sifar dan baris cap waktu sebelum melelaran melalui data untuk mengira baharu nilai. Walaupun pendekatan ini memenuhi tujuannya, ia terasa menyusahkan dan mencadangkan kewujudan penyelesaian yang lebih cekap.

Penyelesaian Pilihan: Mengumpul Data dalam Senarai

Untuk mengoptimumkan proses ini , adalah bijak untuk mengelak daripada pertumbuhan mengikut baris dalam DataFrame. Sebaliknya, kumpulkan data ke dalam senarai dan kemudian mulakan DataFrame setelah pengumpulan data selesai. Senarai adalah lebih ringan, menggunakan kurang memori dan memudahkan inferens djenis automatik dan penetapan indeks.

data = []
for row in some_function_that_yields_data():
    data.append(row)

df = pd.DataFrame(data)

Kelebihan Pengumpulan dalam Senarai

  • Kecekapan Pengiraan Dipertingkat: Melampirkan pada senarai dan mencipta DataFrame sekali gus adalah jauh lebih pantas daripada lelaran yang ditambahkan pada DataFrame kosong.
  • Pengoptimuman Memori: Senarai menduduki kurang memori dan lebih mudah untuk ditambah dan dimanipulasi.
  • Inferens DJenis Automatik: Pembina DataFrame secara automatik membuat kesimpulan djenis berdasarkan data ditambah.
  • Penciptaan Indeks Disegerakkan: RangeIndex dijana secara automatik untuk DataFrame yang terhasil.

Kaedah Dihentikan untuk Dielakkan

Amalan tertentu, yang lazim di kalangan pengguna baru, harus dielakkan kerana ia ketidakcekapan dan nuansa:

  • Lampiran Berulang atau Concat: Pendekatan ini mengalami kerumitan kuadratik dan kebimbangan jenis data.
  • dilampirkan melalui loc: Menambah menggunakan loc menimbulkan isu pengagihan semula memori yang sama seperti lelaran tambah.
  • DataFrame Kosong NaNs: Mencipta DataFrame dengan nilai NaN menghasilkan lajur objek, yang merumitkan operasi data. Adalah lebih baik untuk memperuntukkan memori sekali lebih awal untuk mengelakkan pemecahan memori.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta DataFrame Kosong untuk Data Siri Masa dengan Cekap Sebelum Mengisinya?. 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