问题
我将一个包含时间间隔的csv文件转换成了dataframe - 样本频率为15分钟,每个datetimestamps都有一个三元素块。在这个例子中,datetime 2017-12-11 23:15:00
的块缺失了。
ID Datetime Value
0 a 2017-12-11 23:00:00 20.0
1 b 2017-12-11 23:00:00 20.9
2 c 2017-12-11 23:00:00 21.0
3 a 2017-12-11 23:30:00 19.8
4 b 2017-12-11 23:30:00 20.8
5 c 2017-12-11 23:30:00 20.8
期望结果
我想要做的是重新采样日期时间,并用零填充Value
中的间隙:
ID Datetime Value
0 a 2017-12-11 23:00:00 20.0
1 b 2017-12-11 23:00:00 20.9
2 c 2017-12-11 23:00:00 21.0
3 a 2017-12-11 23:15:00 0.0
4 b 2017-12-11 23:15:00 0.0
5 c 2017-12-11 23:15:00 0.0
6 a 2017-12-11 23:30:00 19.8
7 b 2017-12-11 23:30:00 20.8
8 c 2017-12-11 23:30:00 20.8
我的问题
使用resample()
能否实现此操作,或者是否可以与groupby()
组合来解决这个问题?
import pandas as pd
df = pd.concat((pd.read_csv(file, parse_dates=[1], dayfirst=True,
names=headers)for file in all_files))
df.set_index("Datetime").resample('15min').fillna(0).reset_index()