案件で以下のようなcsvファイルの欠損した日付部分を補完する必要があったので、その方法をメモしておきます

日付データの欠損を埋めるサンプルコード
まずは欠損した日付データを作成します
import pandas as pd
df = pd.DataFrame(pd.date_range(start='1/1/2017', end='2/1/2017', freq='D'), columns=['date'])
df['data'] = 1
df = df.sample(n=10).sort_values('date')
print(df.info())
print('-------------------------------------')
df.head(10)
<実行結果>

こんな感じの日付が飛び飛びのデータフレームを作ります、データ型も確認していてDtypesで表示されている日付の列のデータ型がdatetime64であることが必須です。もしほかのCSVから読み込んだデータなどでこれを行う場合は日付列のデータ型がdatetimeであることを確認してください
そして日付データの欠損を埋める流れとしては、以下のフローになります。
①時刻のカラム(datetime型)をindexに指定
② pandasのasfreq関数を使用
③indexを元に戻す
import pandas as pd
import datetime
df_ = df.set_index('date')
# 列名「date」をデータフレームのindexに指定
df_ = df_.asfreq(freq='1D')
df_fill = df_.reset_index()
# indexを元に戻す
print(df_fill)
<実行結果>

欠損している日付が保管され、その部分のdata列は欠損値NANが代入されています。
以上のように間が空いてしまった日時データを埋めることができます。
なお、asfreq関数のfreqに指定できる引数は今回は1日単位としていますが、5分おきなどもう少し細かく調整できたりします。詳しくは下記の公式リファレンスに載っています。
Time series / date functionality — pandas 2.2.3 documentation
関連記事:【Python】pandasのresample()で株価データを月/日/時ごとに再集計
では~

コメント
[…] 関連記事:【Python】pandasで日付データの欠損を補完するサンプルコード […]
[…] 関連記事:【Python】pandasで日付データの欠損を補完するサンプルコード […]