numpy 滑动窗口取数据

文章目录

  • numpy 滑动窗口取数据
    • for循环方式(数组大的时候,超级慢)
    • numpy的方式(numpy的版本要在1.20.0及以上)
import numpy as np
a1 = np.arange(0,10)
print(a1)
[0 1 2 3 4 5 6 7 8 9]

要做成以下形式

for循环方式(数组大的时候,超级慢)

total_length = a1.shape[0]  # 数组总长度
win_length = 3  # 窗口长度
step_length = 2  # 步长
frequency = (total_length - win_length)//step_length + 1  # 频率
print(frequency)
4
list_arr = []
start_index = 0  # 切片开始下标
for i in range(frequency):stop_index = start_index + win_length  # 切片结束下标a2 = a1[start_index:stop_index]  # 切片数组start_index += step_length  # 下一次切片开始下标a2 = np.expand_dims(a2, axis=0)  # 维度增加一维list_arr.append(a2)  # 追加进列表
print(list_arr)
[array([[0, 1, 2]]), array([[2, 3, 4]]), array([[4, 5, 6]]), array([[6, 7, 8]])]
slide_arr = np.concatenate(list_arr, axis=0)  # 滑动窗口后的数组
print(slide_arr)
[[0 1 2][2 3 4][4 5 6][6 7 8]]

numpy的方式(numpy的版本要在1.20.0及以上)

print(a1)
[0 1 2 3 4 5 6 7 8 9]
strides = (1, step_length)
# 步长为1步的滑动窗口
slide_arr1 = np.lib.stride_tricks.sliding_window_view(a1,  # 原数组3  # 窗口大小,也可以是元组,如(2,2)
)
print(slide_arr1)
[[0 1 2][1 2 3][2 3 4][3 4 5][4 5 6][5 6 7][6 7 8][7 8 9]]
slide_arr2 = slide_arr1[::2,] # 步长为2步的滑动窗口
print(slide_arr2)
[[0 1 2][2 3 4][4 5 6][6 7 8]]

numpy 滑动窗口取数据相关推荐

  1. TCP协议中的核心知识点,SYN Flood?ISN?滑动窗口?数据重传?拆包粘包?单tcp连接多请求?拥塞管理?(个人收藏学习笔记)

    TCP协议中的核心知识点,滑动窗口?数据重传?拆包粘包?单tcp连接多请求? 1.前言 2.TCP/IP四层结构 3. TCP 3.1 TCP 协议头 3.2 TCP通信过程 3.2.1 建立连接的三 ...

  2. 机器人避障之滑动窗口处理数据

    目的 构建一个滑动窗,窗口大小固定,进出窗口顺序按照FIFO模型,即先入先出,让然后判断该窗口中数值趋近律,是否满足递减要求. 场景 机器人在避障时,有时仅仅依靠传感器数据(激光雷达,线激光,超声波, ...

  3. 滑动窗口sliding_window

    1,滑动窗口 滑动窗口,简单来说,就是以动态的边界限定的一组元素. 2,窗口大小:滑动步长 其中边界限定的大小称为窗口大小,边界变化的幅度称为滑动步长. 窗口大小为5,滑动步长为1的滑动窗口 滑动窗口 ...

  4. Java熔断框架有哪些_降级熔断框架 Hystrix 源码解析:滑动窗口统计

    降级熔断框架 Hystrix 源码解析:滑动窗口统计 概述 Hystrix 是一个开源的降级熔断框架,用于提高服务可靠性,适用于依赖大量外部服务的业务系统.什么是降级熔断呢? 降级 业务降级,是指牺牲 ...

  5. 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)

    TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...

  6. TCP滑动窗口、流量控制及拥塞控制详解

    一.TCP滑动窗口 TCP虽然是面向字节流的,但是TCP传输的单元确实报文段.一个TCP报文段分为首部和数据部分.TCP首部前20个字节是固定的,后面有4N个字节是可选的.因此,TCP首部最小字节数是 ...

  7. NumPy迎来重大版本更新,新增函数注释、滑动窗口视图功能,仅支持Python 3.7以上版本...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 杨净 发自 凹非寺    来自 | 量子位 最近,NumPy上线了最新版本--NumP ...

  8. [单调栈/差分/尺取/单调队列]Exercise Week5 A最大矩形+B魔法猫+C平衡字符串+D滑动窗口

    目录 A.[单调栈]最大矩形 题意 样例 思路 总结 代码 B.[差分]TT's Magic Cat 题意 样例 思路 总结 代码 C.[尺取]平衡字符串 题意 样例 思路 总结 代码 D.[单调队列 ...

  9. 数据连接linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口

    在写这篇文章之前,xxx已经写过了几篇关于改数据连接主题的文章,想要了解的朋友可以去翻一下之前的文章 一.TCP段格式: TCP的段格式如下图所示 源端口号与目标端口号 源端口号和目标端口号,加上IP ...

最新文章

  1. [转】:VS 2010 : 如何开发和部署Outlook 2010插件(Add-in)
  2. 前端学习(2569):如何跨组件调用实例
  3. 架​设​W​e​b​服​务​器
  4. TCP/IP详解卷1 - wireshark抓包分析
  5. 安卓python安装库_如何快速在安卓上搭建python3环境
  6. “第八期央企CIO论坛”成功举办
  7. pandas groupby 用法详解
  8. Jquery .ajax方法分析(一)
  9. 搜索结果Refinement 行为总结之 multi-selection refinement
  10. Windows批处理程序编程学习笔记
  11. STM32——跑马灯实现
  12. 微信小程序 java音乐播放器系统python php
  13. python字典经典例题_Python小白--------基础练习题(列表,元组,字典)
  14. 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》
  15. 时间类型转换为字符串
  16. Learning Representations For Images With Hierarchical Labels(一、二)
  17. Coremail2021邮件安全竞赛正式开幕!快来报名吧!
  18. 软考高级系统架构设计师所需要的所有资料,教程、大纲、整体 (清华版本)
  19. 适配B2主题的WordPress外链跳转插件AnyLink
  20. 易航网址引导系统 - 一款极其优雅的网址引导系统+内置16套主题和防墙防举报插件

热门文章

  1. CSS中列表样式的简介
  2. OpenCV | OpenCV将图像转换成黑白图像(二进制)
  3. RDKit | 分子处理入门
  4. Win10下MySQL_Workbench连接远程主机MySQL5.7
  5. windows共享linux的某一文件夹
  6. vue从后台获取新数据后刷新_vue项目中实现定时刷新页面(重新渲染数据实时更新)...
  7. R语言绘制堆叠面积图
  8. R语言与数据分析(5)-基本操作
  9. 我的博士之路(壮根美颜-康亚龙):五年读博路,苦熬曙光明
  10. 起源、进化、创造、探索——穿越138亿年的时间之旅