pandas模块:resample自定义采样方式
下面展示一些 内联代码片 。
# 导入相关模块
import pandas as pd
import copy
import numpy as np
# 读取原始文件
df = pd.read_csv('./data/fj01.csv')# 分辨率是1min
data_df = copy.deepcopy(df)# 以下三个语句是将原始数据索引转化为时间索引
data_df.set_index('date', inplace = True)
data_df = data_df.set_index(pd.DatetimeIndex(pd.to_datetime(data_df.index)))
# 自定义采样方式
'''
每隔15min采样一个点
'''
def custom_resampler(array_like):
# array_like是resample采取的15T(15min,即15个点的数据矩阵)
if len(array_like) != 0:
d = array_like[-1]# 取最后一个数据作为采样点,如有1,2,...,15共15个时间节点的数据,则选取15对应的数据。
else:
d = np.mean(array_like)# 取数据的平均值作为每隔15min的采样点
return d
data_df0 = data_df.resample('15T', closed='right',
label='right').apply(custom_resampler)
resample用法详见:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.resample.html?highlight=resample#pandas.DataFrame.resample
|