我有像
这样的功能预测def predictions(degree):
some magic,
return an np.ndarray([0..100])
我想将这个函数称为几个度数值,并用它来填充更大的np.ndarray(n = 2),用函数predictions
的结果填充每一行。这似乎是一个简单的任务,但不知怎的,我不能让它工作。我试过
for deg in [1,2,4,8,10]:
np.append(result, predictions(deg),axis=1)
结果为np.empty(100)
。但是Singleton array array(1) cannot be considered a valid collection.
我无法得到fromfunction
它仅适用于坐标元组,并且文档中不包含不规则的度数列表。
答案 0 :(得分:2)
请不要使用np.ndarray
,直到您年龄更大,更聪明!我无法在不重新阅读文档的情况下使用它。
arr1d = np.array([1,2,3,4,5])
是从数字列表构造1d数组的正确方法。
也不要使用np.append
。我甚至不会添加更老,更聪明的'资格。它没有就地工作;在循环中使用时速度很慢。
从1d数组构建2数组的好方法是:
alist = []
for i in ....:
alist.append(<alist or 1d array>)
arr = np.array(alist)
如果所有子列表都具有相同的大小,则arr应为2d数组。
这相当于从
构建二维数组np.array([[1,2,3], [4,5,6]])
这是一个列表清单。
或列表理解:
np.array([predictions(i) for i in range(10)])
同样,predictions
必须返回相同长度的数组或列表。
答案 1 :(得分:2)
viewtype1
是numpy的无聊部分。在这里你事先知道形状
append
如果你想以某种方式存储学位,你可以使用自定义dtypes