这是一个新手问题,我敢肯定已经在某个地方回答了这个问题,但是很遗憾,我在任何地方都找不到它。
我有一个函数findDX
,它接受一个Nx2
numpy数组D
和一个浮点数X
(下面提供了定义)。我想在具有多个D
值的fixed X
上评估此函数,即find_DX(D, 1)
,find_DX(D, 2)
,find_DX(D, 3)
,其中X
输入的数组为[1,2,3]
是否有一种方法可以在保持D不变的情况下传递X的多个值(而不是更改函数定义)?我已经尝试过
find_DX([mcm],[1,2,3])
但是可以预见的是ValueError: operands could not be broadcast together with shapes
def find_DX(D, X):
"""
Parameters
----------
D : numpy array
Input cumulative DVH.
X : Float
We're finding the dose recieved by at least X% of tissues.
Returns
-------
DX
"""
idx = (np.abs(D[:,1] - X)).argmin()
return D[idx,0]
您可以尝试这个,
import numpy as np
def find_DX(D, X):
"""
Parameters
----------
D : numpy array
Input cumulative DVH.
X : Float
We're finding the dose recieved by at least X% of tissues.
Returns
-------
DX
"""
tmpArr=[]
for i in X:
idx = (np.abs(D[:,1] - i)).argmin()
tmpArr.append(idx)
return tmpArr
a = [[1,2],[2,3]] #sample array
a= np.array(a)
print(find_DX(a,[1,2,3]))