NumPy创建数组的方式非常丰富,一般来说可分为3类:
- 从Python的原生数据结构转换(eg, lists, tuples)
- NumPy内置的数组创建函数(eg, arange, ones, zeros)
- 从磁盘读取
Python原生对象转NumPy Array
import numpy as np
>>> np.array([1, 2, 3])
array([1, 2, 3])
>>> np.array([[1, 2, 3], (4, 5, 6)]) # tuple和list混合使用
array([[1, 2, 3], [4, 5, 6]])
>>> np.array([ 1.+0.j, 2.+0.j])
array([1.+0.j, 2.+0.j])
NumPy内置的函数
>>> np.zeros((2, 3))
array([[0., 0., 0.], [0., 0., 0.]])
>>> np.ones((2, 3, 4), dtype=np.int16)
array([[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]]], dtype=int16)
>>> np.empty((2, 3)) # 不初始化
array([[-2.00000000e+000, -2.00389143e+000, 3.95252517e-323],
[ 0.00000000e+000, 0.00000000e+000, 0.00000000e+000]])
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(2, 10, dtype=float)
array([2., 3., 4., 5., 6., 7., 8., 9.])
>>> np.arange(10, 30, 5)
array([10, 15, 20, 25])
>>> np.linspace(1, 10, 4)
array([ 1., 4., 7., 10.])
从磁盘读取Array
这应该大型数组创建的最常用方式。详细的创建方式依赖于数据在磁盘上的存储格式,这里不做详细讨论。有兴趣可参考官方文档
网友评论