首页 > 编程语言 >Python_滑动窗口

Python_滑动窗口

时间:2023-10-09 14:24:32浏览次数:35  
标签:窗口 函数 Python window timestamps 滑动 cur

SQL中窗口函数

常用窗口函数
窗口函数主要分为了聚合、排序、分布、平移及首尾等类型
1) 聚合函数:sum()、count()、max()、min()、avg()   
2) 排序函数:row_number()、rank()、dense_rank()    
3) 分布函数:percent_rank()、cume_dist()
4) 平移函数:lead()、lag()
5) 首尾函数:first_val()、last_val()

窗口大小--over
   rows frame_start   or  rows between frame_start and frame_end

python窗口

数值型数据,Pandas 提供了几种窗口函数,比如移动函数(rolling)、扩展函数(expanding)和指数加权函数(ewm)
  ewm(全称 Exponentially Weighted Moving)表示指数加权移动

滑窗

滑动窗口计算,最容易想到的就是用两层for循环来实现
def sliding_window(data, window_size, step_size):
    window_sequences = [data[i:i+window_size] for i in range(0, len(data)-window_size+1, step_size)]
    result = [sum(sequence) for sequence in window_sequences]
    return result
###滑窗的大小和滑动步长。滑窗大小表示滑窗子序列的长度,滑动步长表示滑动窗口每次移动的距离

def sliding_windows(timestamps,step,exclude=2):
    cur_idx = 0
    while(cur_idx < len(timestamps)):
        target_ts = timestamps[cur_idx]
        selected = range(max(0, cur_idx), min(cur_idx + step, len(timestamps)))
        cur_idx += step
        timestamps_window = [timestamps[s] for s in selected]
        if len(timestamps_window) < exclude:
            print(f" timestamps_window len = {len(timestamps_window)}")
            break
		###滑窗内操作	
        for i, ts in enumerate(timestamps_window):
            sensor= os.path.join(root_path, ts+r"."+"json")
            calib = json.load(open(sensor, 'r'))

点云下采样

random_down_sample(pcd, sampling_ratio):
   从输入点云pcd中选择n*sampling_ratio随机点。它可以用于数据增强,因为每次都选择不同的点。但是,它对噪声很敏感。
uniform_down_sample(every_k_points):
    根据点的顺序统一选择点。它每隔every_k_points选择一个点。第一个点(索引为0)总是被选中。
	因此,所选点的索引为:0,every_k_points, 2 *every_k_points等。
	如果输入点云是有组织的,则该函数返回一个均匀的点云;否则,它与第一种方法类似,只是每次都会生成相同的输出。
voxel_down_sample(voxel_size):
     创建3D体素网格

Moving Window

滑窗(Moving  Window)算法	
跳窗(Jumping Window)算法  漏桶算法(Leaky Bucket)
选择性搜索(Selective Search)    

参考

Python滑窗实现教程 https://blog.51cto.com/u_16175490/7383370
数据统计—滑动窗口 https://book.itheima.net/course/221/1270308811000782849/1271374094515838977
 Python滑动窗口用法介绍 https://www.python100.com/html/Q02B5K8M1E3R.html

标签:窗口,函数,Python,window,timestamps,滑动,cur
From: https://www.cnblogs.com/ytwang/p/17751603.html

相关文章

  • 7、Python语法入门之流程控制
    7、Python语法入门之流程控制转载: 7、Python语法入门之流程控制-知乎(zhihu.com)目录:引子分支结构什么是分支结构为什么要用分支结构如何使用分支结构if语法if应用案例循环结构什么是循环结构为什么要用循环结构如何使用循环结构while循环语......
  • 几个易错的python小知识点
    大家好,我是暴走の海鸽~本期整理了几个基础python防坑小常识,希望对大家有所帮助。1.type==object?执行以下代码的结果是什么:>>>isinstance(type,object)True>>>isinstance(object,type)True>>>isinstance(object,object)True>>>isinstance(type,type)True......
  • 笨办法学Python3 习题30 else 和 if
    1people=302cars=403trucks=1545ifcars>people:#下面同时为True,也只会运行第一个为True的块,另外两个优先级依次低于if6print("Weshouldtakethecars.")#第一个分支的块78elifcars<people:......
  • 笨办法学Python3 习题29 if 语句
    1people=202cats=303dogs=1545ifpeople<cats:6print("Toomanycats!Theworldisdoomed!")78ifpeople>cats:9print("Notmanycats!Theworldissaved!")1011ifpeople<dogs:12p......
  • Command "python setup.py egg_info" failed with error code 1
     D:\ProgramFiles\python_3_6_4>python-mpipinstall--upgradepipCacheentrydeserializationfailed,entryignoredCollectingpip Cacheentrydeserializationfailed,entryignored Downloadinghttps://files.pythonhosted.org/packages/a4/6d/6463d49a93......
  • 实验安装的python包
    pyaudio-- python3.6,pycharm可以安装pipinstallpyaudiopyqt5-- python3.6(slow)D:\ProgramFiles\python_3_6_4\Scripts>pipinstallpyqt5-ihttps://pypi.mirrors.ustc.edu.cn/simple/Collectingpyqt5 CouldnotfetchURLhttps://pypi.mirrors.ustc.edu.cn......
  • python 递归遍历目录筛选特定文件名的文件
    #!/usr/bin/pythonimportosimportsyslist=[]folder_path="/root"defsearch_files(folder_path):search_string="测试"forroot,dirs,filesinos.walk(folder_path):fornameinfiles:ifsearch_strin......
  • python3_sys
    1、sys._getframe()用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件Python利用sys._getframe()实现虚构代码运行,控制函数的执行时机-CSDN博客f_back:链路中的上一个函数对象f_locals:函数携带的请求参数f_code:当前code信息,包括函数名代码位置等信息im......
  • 【接口自动化】python+selenium基础实战--登录
    安装好环境后,来试试一个基本的登录功能##-*-coding:utf-8-*-fromseleniumimportwebdriverimporttimedriver=webdriver,Chrome()driver.get("http://localhost:63342/projectAutoTest/projectHtml/chapter1/period2/index.html")time.sleep(1)driver.findelement_by_i......
  • 认识python就是这么简单!
    我的笔记里的python代码运行环境都是在pycharm软件中运行,所以不去记录如何配置环境变量呀什么的。python种类Cpython:Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。Jpython:Python的Java实现,Jytho......