【Python】按照月份、周、季度对天进行重采样,分组计算

比如我有一个长度为一年365天的数字序列,我想以每月的天数[31,28,31,30,31,30,31,31,30,31,30,31]进行分组,分组后对每组进行平均(或其他操作),得到一个长度为12个月的序列,可以使用Pandasresample()方法:

import numpy as np  
import pandas as pd  

# 创建一个长度为365的日期序列  
date_range = pd.date_range(start='2022-01-01', periods=365)

# 将日期序列转换为pandas的DatetimeIndex对象  
date_index = pd.DatetimeIndex(date_range)  

# 创建一个长度为365的数字序列  
data = np.random.rand(365)  

# 将数字序列转换为pandas的Series对象  
series = pd.Series(data, index=date_index)  

# 按照每月的天数进行分组,并计算每组的平均值  
monthly_mean = series.resample('M').mean() 

print(monthly_mean)

这段代码将输出一个长度为12的月份序列,其中每个元素表示对应月份的平均值。

Pandas 中,resample() 方法的参数 M 表示按月进行重采样。除了 M,还有其他一些常用的选项来指定时间间隔:

  1. D:按天重采样。
  2. W:按周重采样。
  3. Q:按季度重采样。
  4. H:按小时重采样。
  5. T:按分钟重采样。
  6. S:按秒重采样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值