首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何仅用列python来减去数组?

如何仅用列python来减去数组?
EN

Stack Overflow用户
提问于 2021-07-20 20:59:09
回答 1查看 54关注 0票数 0

我有二维数组

代码语言:javascript
运行
复制
 [1, 5],
 [2, 7],
 [3, 9] 

我想要生成数组

代码语言:javascript
运行
复制
 [1, 5],
 [2, 2],
 [3, 2] 

这是通过只减去列并将行保留为它的。(7-5) (9-7)

我在下面尝试了一下,但是我不能得到正确的输出

代码语言:javascript
运行
复制
import numpy as np

timeline = np.array([[1,5],
                     [2,7],
                     [3,9]]) 

def non_adjacent_diff(row):
    not_zero_index = np.where(row != 0)
    diff = row[not_zero_index][1:] - row[not_zero_index][:-1]
    np.put(row, not_zero_index[0][1:], diff)
    return row

np.apply_along_axis(non_adjacent_diff, 1, timeline)

print(timeline)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-20 21:19:18

您可以尝试此解决方案:

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

https://stackoverflow.com/questions/68455327

复制
相关文章

相似问题

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