要从生成器构建numpy数组,您可以使用numpy的numpy.fromiter()
函数。这个函数可以让您从一个生成器中生成一个numpy数组。以下是一个简单的示例:
import numpy as np
# 定义一个生成器
def generator():
for i in range(10):
yield i * 2
# 使用numpy.fromiter()从生成器构建numpy数组
arr = np.fromiter(generator(), dtype=int)
print(arr)
输出:
[ 0 2 4 6 8 10 12 14 16 18]
在这个示例中,我们定义了一个生成器generator()
,它会生成0到18之间的偶数。然后,我们使用numpy.fromiter()
函数从这个生成器中创建一个numpy数组。最后,我们打印出这个数组。
numpy.fromiter()
函数有两个主要参数:
iter
:一个生成器对象,用于生成数组元素。dtype
:一个可选参数,用于指定数组元素的数据类型。如果没有指定,numpy会尝试自动推断元素的数据类型。使用numpy.fromiter()
函数可以让您更高效地从生成器中创建numpy数组,特别是在处理大量数据时。
领取专属 10元无门槛券
手把手带您无忧上云