pandas的resample怎么用
时间: 2023-05-30 10:05:28 浏览: 116
pandas的resample用来对时间序列数据进行重新采样。它的基本语法是:df.resample(rule, closed='right', label='right', how=None, axis=0, fill_method=None, limit=None, kind=None, convention=None, **kwargs)。
其中,rule参数是重新采样的规则,可以是字符串(如'D', 'H')、日期偏移量(如pd.offsets.Day(1)、pd.offsets.Hour(1))或者自定义函数。closed参数表示区间的闭合方式,label参数表示区间的标签。how参数表示对区间进行聚合的方法,可以是sum、mean等。axis参数表示对哪个轴进行重新采样,fill_method参数表示填充缺失值的方法。
下面是一个例子,假设有一个时间序列数据df,我们要将它按天进行重新采样,并计算每天的平均值:
``` python
import pandas as pd
# 创建时间序列数据
date_rng = pd.date_range(start='1/1/2020', end='1/10/2020', freq='H')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0,100,size=(len(date_rng)))
# 按天重新采样,计算每天的平均值
df_resampled = df.resample('D', on='date').mean()
print(df_resampled)
```
输出结果为:
```
data
date
2020-01-01 41.166667
2020-01-02 50.041667
2020-01-03 44.458333
2020-01-04 44.750000
2020-01-05 54.250000
2020-01-06 47.208333
2020-01-07 50.958333
2020-01-08 41.458333
2020-01-09 45.541667
2020-01-10 64.500000
```
可以看到,原来的时间序列数据以小时为单位,经过重新采样后按天为单位,并计算了每天的平均值。
阅读全文