首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算数组中每个连续元素之间的距离

计算数组中每个连续元素之间的距离
EN

Stack Overflow用户
提问于 2017-09-05 15:34:04
回答 1查看 1.1K关注 0票数 0

假设我有以下数列:

代码语言:javascript
复制
array([[-3 ,  3],
   [ 2, -1],
   [-4, -4],
   [-4, -4],
   [ 0,  3],
   [-3, -2],
   [-4, -2]])

然后,我要计算列中每一对连续数字之间距离的范数,即

代码语言:javascript
复制
    array([[norm(2--3), norm(-1-3)],
   [norm(-4-2), norm(-4--1)],
   [norm(-4--4), norm(-4--4)],
   [norm(0--4), norm(3--4)],
   [norm(-3-0), norm(-2-3)],
   [norm(-4--3)-3, norm(-2--2)])

然后,我想取每一栏的平均数。

在Python中有一种快速高效的方法吗?我一直在努力,但到目前为止没有运气。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 15:40:44

这将完成以下工作:

代码语言:javascript
复制
np.mean(np.absolute(a[1:]-a[:-1]),0)

这会返回

代码语言:javascript
复制
array([ 3.16666667,  3.16666667])

解释:

首先,np.absolute(a[1:]-a[:-1])返回

代码语言:javascript
复制
array([[5, 4],
       [6, 3],
       [0, 0],
       [4, 7],
       [3, 5],
       [1, 0]])

它是差值绝对值的数组(我假设一个数字的范数是指绝对值)。然后将np.meanaxis=0一起应用,返回每个列的平均值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46058710

复制
相关文章

相似问题

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