擅长:python、mysql、java
<p>如果在分钟内运行df1并重新采样,它将从最小日期和时间向上采样到最大日期和时间。如果您使用df2的索引对其进行重新索引,您将获得所需的输出。我借用了一些代码从@Joe Ferndz创建数据</p>
<pre><code>import pandas as pd
df1 = pd.DataFrame({'date':['2021-01-08 07:52:18','2021-01-08 08:53:34',
'2021-01-09 07:56:54','2021-01-09 09:52:17',
'2021-01-12 07:55:58'],
'count':[1,10,12,13,5]})
df1['date'] = pd.to_datetime(df1['date'])
df1.set_index('date', inplace=True)
df1 = df1.resample('min').sum()
d_range = pd.date_range('2021-01-08 07:52:00', '2021-01-14 08:49:00', freq='1min')
df2 = pd.DataFrame(index=d_range)
df1 = df1.reindex(df2.index, fill_value=0)
df1
count
2021-01-08 07:52:00 1
2021-01-08 07:53:00 0
2021-01-08 07:54:00 0
2021-01-08 07:55:00 0
2021-01-08 07:56:00 0
... ...
2021-01-14 08:45:00 0
2021-01-14 08:46:00 0
2021-01-14 08:47:00 0
2021-01-14 08:48:00 0
2021-01-14 08:49:00 0
</code></pre>