0
私はpandas DataFrame df
に日々のデータがあります。欠落しています(例:1980-12-25)。これらの日付をNaN値で追加するために、DataFrameのインデックスを再作成したいと思います。Reindex pandas不足している日付を記入するDataFrame
date close
None
0 1980-12-12 28.75
1 1980-12-15 27.25
2 1980-12-16 25.25
3 1980-12-17 25.87
4 1980-12-18 26.63
5 1980-12-19 28.25
6 1980-12-22 29.63
7 1980-12-23 30.88
8 1980-12-24 32.50
9 1980-12-26 35.50
リストdates
は、必要なすべての日付でリストを生成しました。
[Timestamp('1980-12-12 00:00:00'), Timestamp('1980-12-15 00:00:00'), Timestamp('1980-12-16 00:00:00'), Timestamp('1980-12-17 00:00:00'), Timestamp('1980-12-18 00:00:00'), Timestamp('1980-12-19 00:00:00'), Timestamp('1980-12-22 00:00:00'), Timestamp('1980-12-23 00:00:00'), Timestamp('1980-12-24 00:00:00'), Timestamp('1980-12-25 00:00:00'), Timestamp('1980-12-26 00:00:00')]
残念ながら、以下のreindexコマンドを実行すると、テーブルはNaNで完全に埋め尽くされます。
df.reindex(dates)
私は、あなたがset_index()
する必要があります私はあなたの質問に表示されるものと、すべてが細かいチェックアウト以下をチェックし、...
>>> type(df['date'][0])
<class 'pandas._libs.tslib.Timestamp'>
>>> type(dates[0])
<class 'pandas._libs.tslib.Timestamp'>
>>> dates[0] == df['date'][0]
True
ありがとうアンドリュー!それがまさに問題でした。日付列が索引ではないことに気付かなかった。 – Andras
すばらしい、喜んで助けてください。 –