Pandas 中的窗口重叠

2023-11-22

在 pandas 中,有几种方法可以在给定窗口中操作数据(例如pd.rolling_mean or pd.rolling_std.)但是,我想设置一个窗口重叠,我认为这是一个非常标准的要求。例如,在下图中,您可以看到一个跨越 256 个样本并重叠 128 个样本的窗口。

http://health.tau.ac.il/Communication%20Disorders/noam/speech/mistorin/images/hamming_overlap1.JPG

如何使用 Pandas 或 Numpy 中包含的优化方法来做到这一点?


Using as_strided你会做这样的事情:

import numpy as np
from numpy.lib.stride_tricks import as_strided

def windowed_view(arr, window, overlap):
    arr = np.asarray(arr)
    window_step = window - overlap
    new_shape = arr.shape[:-1] + ((arr.shape[-1] - overlap) // window_step,
                                  window)
    new_strides = (arr.strides[:-1] + (window_step * arr.strides[-1],) +
                   arr.strides[-1:])
    return as_strided(arr, shape=new_shape, strides=new_strides)

如果将 1D 数组传递给上述函数,它将返回该数组的 2D 视图,其形状(number_of_windows, window_size),这样你就可以计算,例如加窗后的平均值为:

win_avg = np.mean(windowed_view(arr, win_size, win_overlap), axis=-1)

例如:

>>> a = np.arange(16)
>>> windowed_view(a, 4, 2)
array([[ 0,  1,  2,  3],
       [ 2,  3,  4,  5],
       [ 4,  5,  6,  7],
       [ 6,  7,  8,  9],
       [ 8,  9, 10, 11],
       [10, 11, 12, 13],
       [12, 13, 14, 15]])
>>> windowed_view(a, 4, 1)
array([[ 0,  1,  2,  3],
       [ 3,  4,  5,  6],
       [ 6,  7,  8,  9],
       [ 9, 10, 11, 12],
       [12, 13, 14, 15]])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 中的窗口重叠 的相关文章

随机推荐

  • 在android中显示unicode字符?

    我创建了一个消息应用程序 并且了解到很大一部分会员并不居住在北美或英国 当他们发布消息时 仅返回乱码文本 存储数据的所有数据库列均采用 UTF 8 格式 有没有办法正确显示某人已经输入的 UTF 8 字符 请参阅下面的屏幕截图 最简单的一个
  • 通过PHP远程服务器文件上传

    我有两台服务器 一台用于我的网站 另一台用于存储 我正在尝试创建一个页面 让其他人可以将文件上传到存储服务器 我希望使用表单帖子将其发送到那里 我写了一段非常简单的代码来解决这个问题 但遇到了一些麻烦 如果我将操作更改为将其保存在同一服务器
  • Cordova Firebase 插件通知 - 无法添加任务“:processDebugGoogleServices”,因为同名任务已存在

    我正在尝试在使用 Ionic 构建的 Phonegap Cordova 应用程序上添加 Google Firebase 通知 我已经成功安装了用于登录的 Google Plus 插件 我认为这将是一个有用的信息 我只需要这个 Firebas
  • 主键可以使用字符值吗?

    与使用基于字符的字段相比 在数据库表中使用唯一的数字 ID 字段是否会带来性能提升或最佳实践 例如 如果我有两个表 athlete id 17 name 里基 亨德森 teamid 28 team teamid 28 teamname Oa
  • 模型-视图-呈现器和模态对话框...如何?

    我正在 WPF 中实现 MVP M V VM 到目前为止我很幸运 但是 我不知道该模型如何支持实现模态对话框 我的工作源自 Crack NET http www codeplex com cracknetproject 来了解这个东西是如何
  • 在 Docker 容器内传递 AWS CodeBuild IAM 角色 [无法找到凭证]

    CodeBuild 项目上配置的角色在运行时环境中运行良好 但当我们从容器内部运行命令时不起作用 它显示 无法找到凭据 让我知道我们如何在容器内使用开箱即用的角色 您可以利用凭证源 EcsContainer 无缝地承担角色 而无需在 bui
  • 房间库可以从资产文件夹中复制数据库吗?

    我在资产文件夹中有预加载数据库的旧项目 该项目有SQLiteOpenHelper为数据库操作而实现 但现在要更新应用程序 我想将我的项目移至Room数据库库 所以我的问题是 Room 库中是否有任何可用的方法或功能 我可以在运行时在应用程序
  • NSSortDescriptor 和 NSFetchedResultsController 的自定义选择器

    我遇到了一些麻烦 我想知道是否有人可以提供一些指导 我尝试按以下顺序创建节标题 推送 忙碌 完成 取消 不幸的是 这个顺序无法通过简单的 升序是 否 来实现 我必须添加一个自定义比较选择器 像这样 其中 states 映射到 Push Bu
  • 单击信息窗口监听器 Google 地图 V2

    我有一个简单的 Place 类 public class Plac String name int id LatLng latlng public Product String name int id LatLng latlng this
  • JavaScript/jQuery 中是否有内置函数可以生成字符串的 MD5?

    我正在设计一个登录页面 div div
  • 什么是一个好的简约 Javascript 继承方法?

    我正在重写一个 JavaScript 项目 我希望能够使用面向对象的方法来组织当前代码的混乱 主要担心的是这个 JavaScript 应该作为第 3 方网站内的小部件运行 我不能让它与其他网站可能使用的其他 JavaScript 库发生冲突
  • 什么是启发式函数

    有人可以用非常简单的语言解释它是什么 还提供一个例子 例如 如果你必须找到某物的启发式函数 它应该是什么样子 以问题为例 对于水壶问题http www math tamu edu dallen hollywood diehard dieha
  • Bootstrap:在列之间添加边距/填充空间

    我试图在 Bootstrap 网格布局上的列之间放置一些额外的边距 填充空间 我试过了this但我不喜欢这个结果 这是我的代码 div class row div class text center col md 6 Widget 1 di
  • 如何在 NetBeans IDE 中更改 maven 的远程存储库 URL(从 http 更改为 https)?

    尝试运行 NetBeans 项目时 我收到以下错误消息 未能执行目标 org apache maven plugins maven surefire plugin 2 10 测试 项目 MyNetBeansProject 上的 默认测试 执
  • 如何检测浏览器中 AJAX (XmlHttpRequest) 调用的超时?

    我正在网上查找 但很难找到文档 我们都知道使用浏览器内置的基本 AJAX 调用XMLHttpRequest对象 假设这里是现代浏览器 var xmlHttp new XMLHttpRequest Assumes native object
  • 如何捕获两个标签之间的多行正则表达式?

    选择 2 个评论标签之间的所有文本的最佳方法是什么 例如 lt 将捕获 Edit根据 Basti M 的回答 lt n gt 将选择之间的所有内容first IE 下面第 1 行到第 11 行 我如何修改它以仅选择单独标签内的行 即第 1
  • 错误域=NSURLErrorDomain 代码=-1202 iPhone

    我收到以下错误 Error Domain NSURLErrorDomain Code 1202 此服务器的证书无效 您可能正在连接到冒充 api linkedin com 的服务器 这可能会使您的机密信息面临风险 用户信息 0x1c53e6
  • iPad 上的 iframe 大小

    我有一个 HTML 文件 如下所示 table height 100 cellspacing 0 cellpadding 0 border 0 width 646 class data border tbody tr td valign t
  • Silverlight:将子控件属性绑定到用户控件中的属性

    如果我定义了一个用户控件 public partial class MainFooter UserControl public System Windows Media Color BkColor 它是 xaml
  • Pandas 中的窗口重叠

    在 pandas 中 有几种方法可以在给定窗口中操作数据 例如pd rolling mean or pd rolling std 但是 我想设置一个窗口重叠 我认为这是一个非常标准的要求 例如 在下图中 您可以看到一个跨越 256 个样本并