Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisi Tarikh yang Hilang dalam Pandas DataFrame?

Bagaimana untuk Mengisi Tarikh yang Hilang dalam Pandas DataFrame?

Susan Sarandon
Susan Sarandonasal
2024-12-18 22:27:10525semak imbas

How to Fill Missing Dates in a Pandas DataFrame?

Tambahkan Tarikh Hilang pada Bingkai Data Pandas

Apabila berurusan dengan data siri masa, adalah perkara biasa untuk menemui tarikh yang hilang. Ini boleh timbul apabila peristiwa berlaku pada tarikh tertentu tetapi tidak pada tarikh lain. Untuk mewakili data ini dengan tepat, tarikh yang hilang perlu diambil kira.

Dalam kod yang disediakan, bingkai data Pandas dibuat dengan tarikh sebagai indeks. Walaupun julat tarikh termasuk semua hari dalam tempoh masa tertentu, saiz bingkai data adalah lebih kecil kerana sesetengah tarikh tidak mempunyai peristiwa yang berkaitan. Ini mengakibatkan saiz yang tidak sepadan apabila cuba memplot julat tarikh dan bingkai data.

Pendekatan pilihan ialah menambah tarikh yang tiada pada siri dengan kiraan 0. Ini memastikan graf yang lengkap dengan semua tarikh diambil kira. Untuk melakukan ini, kaedah indeks semula boleh digunakan:

import pandas as pd

idx = pd.date_range('09-01-2013', '09-30-2013')

s = pd.Series({'09-02-2013': 2,
               '09-03-2013': 10,
               '09-06-2013': 5,
               '09-07-2013': 1})

s.index = pd.DatetimeIndex(s.index)

s = s.reindex(idx, fill_value=0)

Ini akan mengeluarkan siri baharu dengan semua tarikh yang hilang antara '09-01-2013' dan '09-30-2013' diisi dengan 0 nilai:

2013-09-01     0
2013-09-02     2
2013-09-03    10
2013-09-04     0
2013-09-05     0
2013-09-06     5
2013-09-07     1
2013-09-08     0
...

Dengan menggunakan indeks semula, tarikh yang hilang ditambahkan pada siri, membolehkan plot dan analisis yang tepat daripada data siri masa.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Tarikh yang Hilang dalam 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