使用asfreq重新采样pandas数据帧

时间:2018-03-01 14:05:21

标签: python pandas

编辑: 我犯了一个错误,我的索引是从00:00:00开始,而不是在06:00:00开始(见下文)。所以这个问题是虚假的,但当然温的解决方案是正确的。

我有一个数据框,其索引如下:

2017-11-01 06:00:00
2017-11-02 06:00:00 
2017-11-03 06:00:00
...

等等。但我怀疑缺少条目,例如,2017-11-04 06:00:00的索引可能会丢失。我用过

df = df.asfreq(freq="1D")

NaN填充缺失的值,但它会创建一个不考虑小时数的新索引,它会2017-11-01, 2017-11-02等等,所以相邻列中的值是所有NaN

我该如何解决这个问题?我在asfreq中看不到任何可以解决问题的选项。也许是其他工具?提前谢谢。

1 个答案:

答案 0 :(得分:1)

找到我的工作

l=[
'2017-11-01 06:00:00',
'2017-11-03 06:00:00']

ts = pd.Series(np.random.randn(len(l)), index=l)
ts.index=pd.to_datetime(ts.index)
ts.asfreq(freq="D")
Out[745]: 
2017-11-01 06:00:00   -0.467919
2017-11-02 06:00:00         NaN
2017-11-03 06:00:00    1.610024
Freq: D, dtype: float64