【发布时间】:2019-07-16 09:56:16
【问题描述】:
我正在尝试对一个以 numpy 数组作为输入的函数进行矢量化处理。我有一个二维 numpy 数组(形状为 1000,100),函数将应用于 1000 行中的每一行。我尝试使用np.vectorize 对函数进行矢量化。代码如下:
def fun(i):
print(i)
location = geocoder.google([i[1], i[0]], method="reverse")
#print type(location)
location = str(location)
location = location.split("Reverse")
if len(location) > 1:
location1 = location[1]
return [i[0], i[1], location1]
#using np.vectorize
vec_fun = np.vectorize(fun)
这会引发错误
<ipython-input-19-1ee9482c6161> in fun(i)
1 def fun(i):
2 print(i)
----> 3 location = geocoder.google([i[1], i[0]], method="reverse")
4 #print type(location)
5 location = lstr(location)
IndexError: invalid index to scalar variable.
我已经打印了传递给 fun 的参数,该参数打印单个值(向量的第一个元素)而不是向量(1 行),这是索引错误的原因,但我没有得到知道如何解决这个问题。
【问题讨论】:
-
不使用
np.vectorize怎么样?
标签: python numpy vectorization