首页 > 解决方案 > 在 python np.diff() 中意味着 out[n] = a[n+1] - a[n] 但我想要 out[n]=a[n]-a[n-1]?

问题描述

在 numpy 中: np.diff()out[n] = a[n+1] - a[n]

但是语法是什么 out[n]= a[n]-a[n-1]

x = np.array([1, 2, 4, 7, 0])
np.diff(x)

OP-array([ 1, 2, 3, -7])

但我想要输出操作-array([-1, -2, -3, 7])

我有 3D 阵列形状(73,80,97),这实际上是 WRF 模型输出,我想要降雨率但无法做到:

for k in range(1,72):
    rainrate[k,:,:]=rainnc[k,:,:]-rainnc[k-1,:,:]

或者如果我在做

np.diff(rainnc,0) #showing negative value

标签: pythonpython-3.x

解决方案


只需将结果乘以-1

In [1]: import numpy as np

In [2]: x = np.array([1, 2, 4, 7, 0])

In [3]: np.diff(x) * -1
Out[3]: array([-1, -2, -3,  7])

推荐阅读