Python 重新索引Dataframe的DatetimeIndex只提供缺少的数据
我对这个想法已经没有什么想法了:我使用的数据集是使用Python 重新索引Dataframe的DatetimeIndex只提供缺少的数据,python,pandas,reindex,Python,Pandas,Reindex,我对这个想法已经没有什么想法了:我使用的数据集是使用 import pandas as pd data = pd.read_csv('data.csv', index_col=[0], names=['Date', 'GDAXI', 'GSPC'], header=0) data 输出: GDAXI GSPC Date 2019-07-23 12490.740234 3005.469971 2019-07-24 12
import pandas as pd
data = pd.read_csv('data.csv', index_col=[0], names=['Date', 'GDAXI', 'GSPC'], header=0)
data
输出:
GDAXI GSPC
Date
2019-07-23 12490.740234 3005.469971
2019-07-24 12522.889648 3019.560059
2019-07-25 12362.099609 3003.669922
2019-07-26 12419.900391 3025.860107
2019-07-27 12419.900391 3025.860107
... ... ...
2020-07-17 12919.610352 3224.729980
2020-07-20 13046.919922 3251.840088
2020-07-21 13171.830078 3257.300049
2020-07-22 13104.250000 3276.020020
2020-07-23 13103.389648 3256.409912
261 rows × 2 columns
缺少日期(周末),我想使用0填充这些日期
data = data.reindex(dates, fill_value=0)
这将提供以下输出:
GDAXI GSPC
2019-07-23 0.0 0.0
2019-07-24 0.0 0.0
2019-07-25 0.0 0.0
2019-07-26 0.0 0.0
2019-07-27 0.0 0.0
... ... ...
2020-07-19 0.0 0.0
2020-07-20 0.0 0.0
2020-07-21 0.0 0.0
2020-07-22 0.0 0.0
2020-07-23 0.0 0.0
367 rows × 2 columns
因此,出于某种原因,reindex()
将所有内容解释为丢失的数据
有人知道发生了什么事吗?干杯 试试这个-
扩展@mahir kukreja answer,这对我很有用:
df.index = pd.to_datetime(df.index)
dates = pd.date_range(df.index.min(), df.index.max())
df = df.reindex(dates, fill_value=0)
在reindex命令中,您可以参考日期。这个定义在哪里?