您只能按照-文档
numpy.fromiter()中的说明
numpy.fromiter创建一维数组(而非二维数组)。
numpy.fromiter(iterable,dtype,count = -1)
从可迭代对象创建一个新的一维数组。
您可以做的一件事是将生成器函数转换为从中给出单个值
c,然后从中创建一维数组,然后将其重塑为
(-1,5)。范例-
import numpy as npdef gen_c(): c = np.ones(5, dtype=int) j = 0 t = 10 while j < t: c[0] = j for i in c: yield i j += 1np.fromiter(gen_c(),dtype=int).reshape((-1,5))
演示-
In [5]: %pasteimport numpy as npdef gen_c(): c = np.ones(5, dtype=int) j = 0 t = 10 while j < t: c[0] = j for i in c: yield i j += 1np.fromiter(gen_c(),dtype=int).reshape((-1,5))## -- End pasted text --Out[5]:array([[0, 1, 1, 1, 1], [1, 1, 1, 1, 1], [2, 1, 1, 1, 1], [3, 1, 1, 1, 1], [4, 1, 1, 1, 1], [5, 1, 1, 1, 1], [6, 1, 1, 1, 1], [7, 1, 1, 1, 1], [8, 1, 1, 1, 1], [9, 1, 1, 1, 1]])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)