📅  最后修改于: 2023-12-03 15:21:28.494000             🧑  作者: Mango
在数据处理过程中,经常需要对时间序列数据进行重采样,即将数据从原有的采样频率转换为新的采样频率。在这个过程中,可能会遇到原有的数据缺失,需要对缺失的数据进行填充。在 pandas 中,可以使用 resample()
方法进行重采样,并使用 fillna()
方法对缺失数据进行填充。
下面是一个示例代码,以分钟为时间间隔生成了一个时间序列数据,并随机删除了一些数据点,然后使用 resample()
方法将数据重采样为每 15 分钟一次,再使用 fillna()
方法填充缺失数据。
import pandas as pd
import numpy as np
# 生成时间序列数据
rng = pd.date_range(start='2021-01-01', end='2021-01-02', freq='min')
ts = pd.Series(np.random.randn(len(rng)), index=rng)
# 随机删除一些数据点
ts = ts.mask(np.random.random(ts.shape) < 0.1)
# 重采样为每 15 分钟一次,并向后填充缺失数据
ts_resampled = ts.resample('15T').ffill()
print('原始数据长度:', len(ts))
print('重采样后数据长度:', len(ts_resampled))
输出结果:
原始数据长度: 1441
重采样后数据长度: 97
可以看到,原始数据为每分钟一次,长度为 1441;重采样后数据为每 15 分钟一次,长度为 97,同时缺失的数据点被向后填充了。
以上就是关于上采样后 pandas 向后填充的介绍,希望对您有所帮助。