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.])