首页 > 解决方案 > numpy 中的 frombuffer 和 fromiter 有什么区别?为什么以及何时使用这些

问题描述

frombuffer 和 fromiter 都用于创建 numpy 数组。但是为什么要使用这些函数

标签: numpynumpy-ndarray

解决方案


frombuffer -:用于将缓冲区解释为一维数组。

完整解释

例如-:

>>> s = b'hello world'
>>> np.frombuffer(s, dtype='S1', count=5, offset=6)
output -: array([b'w', b'o', b'r', b'l', b'd'], dtype='|S1')

>>> np.frombuffer(b'\x01\x02', dtype=np.uint8)
output -: array([1, 2], dtype=uint8)

fromiter -:用于从可迭代对象创建新的一维数组

完整解释

例如-:

>>> iterable = (x*x for x in range(5))
>>> np.fromiter(iterable, float)
output -: array([  0.,   1.,   4.,   9.,  16.])

推荐阅读