我有一个如下的pd数据系列。由于某些原因,它直到2018-07-26 13:30:00〜2018-08-03 15:45:00都没有数据
13 2018-03-13 16:40:00 12 12.07 0
14 2018-03-13 16:41:00 13 12.07 0
15 2018-03-13 16:42:00 12 12.07 0
…
230000 2018-07-26 13:30:00 45 12.07 0
230001 2018-08-03 15:45:00 30 12.07 0
230002 ....
…
我想用0填充这些空白,然后尝试像这样的“ pandas.Series.asfreq”
df1= df.asfreq("T",fill_value=0)
print(df1)
但是它给了我一个奇怪的答复,如下所示。
1970-01-01 0 0 0
您能教我如何填写这些空白吗?
答案 0 :(得分:4)
IIUC,我相信您首先需要使用DataFrame.set_index
,并将索引设置为datetime
列。
这是一个基本示例,但是您可以用'datetime_col'
代替自己的datetime列的实际名称:
# If necessary, cast datetime column to correct dtype
# df['datetime_col'] = pd.to_datetime(df['datetime_col'])
df_new = df.set_index('datetime_col').asfreq('T', fill_value=0).reset_index()