python数组切片效率_python – 对numpy数组切片进行采样的最快方法是什么?

我有一个3D(时间,X,Y)numpy数组,包含6个小时的时间序列几年. (比如5).我想创建一个采样时间序列,其中包含从可用记录中随机抽取的每个日历日的1个实例(每天5种可能性),如下所示.

> Jan 01:2006

> Jan 02:2011

> Jan 03:2009

> ……

这意味着我需要从01/01/2006获取4个值,从2011年2月1日起获取4个值等.

我有一个工作版本,其工作原理如下:

>重塑输入数组以添加“年”维度(时间,年份,Y)

>创建一个365值组的随机生成的0到4之间的整数

>使用np.repeat和整数数组仅提取相关值:

例:

sampledValues = Variable[np.arange(numberOfDays * ValuesPerDays),sampledYears.repeat(ValuesPerDays),:,:]

这似乎有效,但我想知道这是否是解决我问题的最佳/最快方法?速度很重要,因为我在循环中这样做,adn将受益于测试尽可能多的情况.

我这样做了吗?

谢谢

编辑

我忘了提到我过滤了输入数据集以删除闰年的第29个feb.

基本上,该操作的目的是找到一个365天的样本,与平均值等方面的长期时间序列匹配良好.如果采样的时间序列通过我的质量测试,我想导出它并重新开始.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值