python - 领导者和滞后者时间戳之间的 numpy 计算滞后
问题描述
我有 2 个时间戳数组
leader = [1, 5, 15, 22]
lagger = [3, 4, 5, 6, 7, 8, 9, 10, 17]
我想将滞后者的每个时间戳与领导者中紧接其前的时间戳相匹配,并计算滞后,获得数组
lags = [2, 3, 4, 1, 2, 3, 4, 5, 2]
有没有快速处理 numpy/pandas 的方法?
解决方案
我认为searchsorted
,鉴于lagger[0] > leader[0]
:
leader = np.array([1, 5, 15, 22])
lagger = np.array([3, 4, 5, 6, 7, 8, 9, 10, 17])
lagger - leader[np.searchsorted(leader, lagger)-1]
输出:
array([2, 3, 4, 1, 2, 3, 4, 5, 2])
推荐阅读
- vue.js - vue build 中 index.html 中的自定义(相对)脚本路径
- amazon-web-services - 使用随机目录结构重命名传入的 S3 文件
- linux - 使用 Elastic Beanstalk EB known_hosts 在 AWS 上使用 pysftp 和 paramiko 进行 SFTP
- clojure - 使用 plumatic 模式验证具有键和值的模式
- mysql - 更快的方法来编写 INNER JOIN 函数
- python - 如何使用嵌套大括号进行 pyparse
- html - 从数组中选择多个选项的简单形式
- java - 如何在 JButton 中撤消按钮透明度
- javascript - 如何使用 JSON 数据制作搜索栏并拥有多个过滤器?
- java - 控制台在线程“main”中显示异常 java.lang.ArrayIndexOutOfBoundsException: 0