Numpy创建数组
- Numpy是python进行数据处理的重要基础数据包,其包含了两种重要的数据结构类型, ndarray是numpy基础的数据类型。
ndarray
numpy 中有多种数据类型,其中最重要的有
1. int32
2. int64
3. float32
4. float64
numpy中ndarray有6个参数
1. shape 数组的形状
2. dtype 数据类型
3. buffer 对象暴露缓冲区接口
4. offset 数组数据的偏移量
5. strides 数据步长
6. order {'C', 'F'}以行或列为主排序
numpy对象的创建方式
import numpy as np
l = [(1, 2, 3, 4), (2, 3, 4, 5)]
nd1 = np.array(l)
nd1.shape
nd1.dtype
- 使用np.arrange 、np.ones 、 np.random 、np.linspace 等numpy的原生方法
nd2 = np.arrage(0, 100, step=5, dtype=float64)
nd3 = np.ones(shape=(5, 3, 2), dtype=int32)
nd4 = np.linspace(0, 1, num=5)
np.astype(np.int32)
np.dtype
nd5 = np.random.randint(0, 10, (2, 4, 4)
nd6 = np.ndarray(shape=(2, 3, 5), dtype=int64)
nd7 = np.full(shape=(3, 3, 3), fill_value=255.0)
nd7.dtype
numpy.eye(N, M=None, k=0, dtype=<type 'float'>)
其中:
- `N`:输出数组的行数。
- `M`:输出数组的列数。
- `k`:对角线索引:0(默认)是指主对角线,正值是指上对角线,负值是指下对角线。
列如:
nd8 = np.eye(5, 5)
nd8
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
随机数组抽样
np.random.randn(10, 10, 10)
np.random.random(size=(5, 5, 5))
np.random.normal(local=100, scale=50, size=(20, 15))
np.random.rand(45, 21, 10)
np.logspace(start=0, stop=100, num=101, base=np.e)
np.diag([3, 6, 9], k=0)
文件 I/O 创建数组
import numpy as np
data1 = np.genfromtxt('./dog.dat')
data2 = np.loadtxt('./dog.dat')
data3 = np.mafromtxt('./dog.dat')
data4 = np.ndfromtxt('./dog.dat')
data5 = np.recfromtxt('./dog.dat')
data6 = np.save('cat.npy', data1)
np.load('cat.npy')