我正在编写一个函数以使用Numpy和函数调用查找百分比变化。到目前为止,我得到的是:
def change(a,b):
answer = (np.subtract(a[b+1], a[b])) / a[b+1] * 100
return answer
print(change(a,0))
Run Code Online (Sandbox Code Playgroud)
“ a”是我制作的数组,b是我要计算的索引/数字。
例如:
我的数组是
[[1,2,3,5,7]
[1,4,5,6,7]
[5,8,9,10,32]
[3,5,6,13,11]]
Run Code Online (Sandbox Code Playgroud)
如何计算1到2(= 0.5)或1到4(= 0.75)或5.7等之间的百分比变化。
注意:我知道如何从数学上获得更改,我不确定如何在python / numpy中执行此操作。
如果我正确理解,您正在尝试查找每一行的变化百分比,则可以执行以下操作:
>>> np.diff(a) / a[:,1:] * 100
Run Code Online (Sandbox Code Playgroud)
这给你:
array([[ 50. , 33.33333333, 40. , 28.57142857],
[ 75. , 20. , 16.66666667, 14.28571429],
[ 37.5 , 11.11111111, 10. , 68.75 ],
[ 40. , 16.66666667, 53.84615385, -18.18181818]])
Run Code Online (Sandbox Code Playgroud)