是否可以根据字符串应用numpy函数? 如果我给'max'致电np.max。
values = np.array([[1,2,-1],[2,3,6], [0,-1,4]])
aggregator = 'max'
print np.max(values, axis=0)
>>> [2 3 6]
我希望是这样的:
some_cool_function(aggregator, values, axis=0)
>>> [2 3 6]
这将提供更好的可读性并缩短我的代码。而不是做多个if。
编辑:
我找到numpy.apply_along_axis,但它需要一个函数,它不能是一个字符串。
答案 0 :(得分:4)
我认为您正在寻找getattr
:
<form action="<c:url value="/admin/users/edit/addRole/${user.userId}" />" method="POST">
答案 1 :(得分:0)
您可以尝试np.apply_along_axis()
。例子:
>>> np.apply_along_axis(np.max, 0, values)
array([2, 3, 6])
>>> np.apply_along_axis(np.min, 1, values)
array([-1, 2, -1])
编辑:
如果确实想要使用字符串,您可以只创建一个将字符串映射到函数的字典(例如{'max':np.max, 'min':np.min}
),然后将整个事物包装成两行super_cool_function
。