我具有值如何向量化一个1个dimensionsal阵列上的操作,以产生2维矩阵中numpy的
i = np.arange(0,7,1)
和一个函数的一维数组
# Returns a column matrix
def fn(i):
return np.matrix([[i*2,i*3]]).T
fnv = np.vectorize(fn)
然后写
fnv(i)
给我一个错误
File "<stdin>", line 1, in <module>
File "c:\Python33\lib\site-packages\numpy\lib\function_base.py",
line 1872, in __call__
return self._vectorize_call(func=func, args=vargs)
File "c:\Python33\lib\site-packages\numpy\lib\function_base.py",
line 1942, in _vectorize_call
copy=False, subok=True, dtype=otypes[0])
ValueError: setting an array element with a sequence.
我正在寻找的结果是一个矩阵,它有两行,列数与输入数组一样多。为了达到这个目的,numpy中最好的符号是什么?
例如我就等于
[1,2,3,4,5,6]
和输出将等于
[[2,4,6,8,10,12],
[3,6,9,12,15,18]]
您不应该使用'input'作为变量名称,您是否也可以显示预期输出的示例? – elyase
添加了一个示例输出来显示结构。这些值是无关紧要的,可以用在fn内计算的任何值来代替 – bradgonesurfing
您的函数和输出不匹配... – Jaime