在 Python 中,重采样时间序列数据的操作可以通过 Pandas 库中的 resample()
方法来实现。以下是具体操作步骤:
首先,我们需要导入 Pandas 库,并读取时间序列数据。假设我们有一个时间序列数据集 df,包含一列日期时间数据(datetime
)和一列数值数据(value
),可以用如下代码读取数据:
import pandas as pd
df = pd.read_csv('data.csv', parse_dates=['datetime'], index_col='datetime')
接下来,我们可以使用 resample()
方法重新采样子集时间跨度(period
)的数据。例如,我们想要将数据降采样到每个小时的平均值,可以使用如下代码:
hourly = df.resample('1H').mean()
上述方法中,'1H'
表示时间步长为一小时,mean()
用于计算每个小时内各个样本数据的平均值。resample()
方法返回的对象 hourly
也是 Pandas 的数据框(DataFrame
)格式。
反之,如果我们想要重新采样升采样的数据,比如将每个小时的平均数据提高到每隔 30 分钟就需要使用插值(interpolation
)生成缺失数据。可以使用如下代码:
frequent = hourly.resample('30T').interpolate()
上述方法中,'30T'
表示时间步长为 30 分钟,interpolate()
方法用于基于默认的线性插值来填充缺失数据。
最后,我们就可以将重新采样的数据写入到新的文件中,如下所示:
frequent.to_csv('frequent_data.csv')
这样,我们就成功的重新采样了时间序列数据,并将重新采样后的数据保存在了新的文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Python中重新取样时间序列数据 - Python技术站