首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用变量窗口获取列表值之间的差异

使用变量窗口获取列表值之间的差异
EN

Stack Overflow用户
提问于 2022-10-13 16:54:26
回答 3查看 27关注 0票数 2
代码语言:javascript
复制
>>> jj = [1,3,9,4,5,6,1,2,4,1,7,9,0,4,1,9]
>>> np.diff(jj) 
[ 2  6 -5  1  1 -5  1  2 -3  6  2 -9  4 -3  8]

np.diff给出了连续数字之间的差异。我在寻找每一个有3值差距的元素之间的差异。

输入:1,3,9,4,5,6,1,2,4,1,7,9,E 210,4,1,E 1119E 212

粗体值之间的差异输出: 3,-3,0,-1,-9

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-10-13 17:00:03

首先,您可以将slicingstep : 3结合使用。然后使用numpy.diff。你可以读

代码语言:javascript
复制
import numpy as np
a = np.array([1,3,9,4,5,6,1,2,4,1,7,9,0,4,1,9])
b = np.diff(a[::3])
print(b)

输出:array([ 3, -3, 0, -1, 9])

票数 0
EN

Stack Overflow用户

发布于 2022-10-13 16:59:55

最直截了当的方法是把三分之一的数字切成一片:

代码语言:javascript
复制
>>> import numpy as np
>>> arr = np.array([1,3,9,4,5,6,1,2,4,1,7,9,0,4,1,9])
>>> np.diff(arr[::3])
array([ 3, -3,  0, -1,  9])

注意,如果您使用numpy.ndarray,那么这是相当节省空间的,因为arr[::3]创建了一个视图。

票数 1
EN

Stack Overflow用户

发布于 2022-10-13 17:00:45

您仍然可以使用np.diff,只传递一个特定数组,而不是整个数组,如下所示:

代码语言:javascript
复制
np.diff(jj[::3])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74059315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档