numpy.fromiter
numpy.fromiter(iterable, dtype, count=-1)
从可迭代对象创建一个新的一维数组。
参数: | iterable :iterable object 提供数组数据的可迭代对象。 dtype :data-type 返回数组的数据类型。 count: 从iterable中读取的项目数。默认值为-1,表示读取所有数据。 |
返回值: | out : 输出数组。 |
Notes
指定计数以提高性能。它允许fromiter
预分配输出数组,而不是按需调整大小。
例子
1)使用生成器创建数组
import numpy as np # 示例:使用生成器创建数组 def generate_numbers(): for i in range(10): yield i*2 # 使用 numpy.fromiter 从生成器创建数组 iterator = generate_numbers() array = np.fromiter(iterator, dtype=int) print(array)
2)从列表创建数组
import numpy as np data = [1, 2, 3, 4, 5] array = np.fromiter(data, dtype=int) print(array)
3)指定读取项目数
import numpy as np data = (i for i in range(10)) array = np.fromiter(data, dtype=int, count=5) print(array) # 输出: [0 1 2 3 4]
4)使用示例
import numpy as np # 创建一个生成器,生成0到4的平方 iterable = (x * x for x in range(5)) # 使用 numpy.fromiter 从生成器创建浮点型数组 array = np.fromiter(iterable, dtype=float) print(array) # 输出: array([ 0., 1., 4., 9., 16.])