【问题标题】:How to subtract from previous row?如何从上一行中减去?
【发布时间】:2017-02-10 15:27:43
【问题描述】:

我有一个np.array 存储在变量x 中,如下所示:

array([[ 956],
       [ 929],
       [1083],
       [1074],
       [ 922]]

我想从前一个数字中减去每个数字,并且我想要一个新变量y,如下所示:

array([[ -27],
       [ 154],
       [  -9],
       [-152]]

【问题讨论】:

  • 查看np.diff
  • @PaulPanzer 他有一个列表,他首先要扁平化。
  • @TonyTannous 上次我检查 diff 时有一个 axis 参数。此外,它不是列表列表,而是二维数组:-P

标签: python numpy


【解决方案1】:
import numpy as np 

x = np.array([[ 956],
       [ 929],
       [1083],
       [1074],
       [ 922]] 

out = np.diff(out, axis=0)

Out: array([[ -27],
   [ 154],
   [  -9],
   [-152]]

【讨论】:

  • np.diff(a, axis=0)(在这种情况下,您不需要hstackL
  • 当你使用axis参数时,你不需要做hstackL = ...理解。只是np.diff(x, axis=0),没有别的。见documentation
  • @tobias_k,已修复。乍一看,我认为这是一个列表列表.... 做多项事情并不健康。
  • out = np.diff(out, axis=0) 第二个out是什么?
  • @3kstc 我只是覆盖了 out 变量。 np.diff 取了两个参数,返回值我存储在out 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多