Numpy是Python的一个科学计算的库
引入
import numpy as np
- 多维数组
np.ndarray
- 数组的使用
a = np.array([0,1,2,3,4],[9,8,7,6,5])
指定数据类型
a = np.array([0,1,2,3,4],[9,8,7,6,5],np.int32)
内存方法
ndarray.flags 有关数组的内存布局的信息。
ndarray.shape 数组维数组。
print(a.shape)
#(2, 5)
ndarray.strides 遍历数组时,在每个维度中步进的字节数组。
ndarray.ndim 数组尺寸数。
print(a)
# 2
ndarray.data Python缓冲区对象指向数组的数据的开始。
- ndarray.size 数组中的元素数。
a.size
#10
- ndarray.itemsize 一个数组元素的长度(以字节为单位)。
a.itemsize
# 8
ndarray.nbytes 数组的元素消耗的总字节数。
ndarray.base 如果内存是来自某个其他对象的基本对象。
ndarray.dtype 数组元素的数据类型。
a.dtype
#dtype('int64')
ndarray创建
- np.arange(n)
返回ndarray类型 元素从0到N-1
x = np.arange(10)
print(x)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
print(type(x))
# numpy.ndarray
- np.ones(shape)
根据shape生成全是1的数组 shape是远组类型
#生成一个3行2列的数组
x = np.ones((3,2))
print(x)
# array([[ 1., 1.],[ 1., 1.],[ 1., 1.]])
- np.zeros(shape)
根据shape生成全是0的数组 shape是远组类型(同np.ones)
- np.full(shape,val)
根据shape生成一个数组,每个元素的值都为val
#生成2行2列值为5的数组
x = np.full((2,2),5)
print(x)
#array([[5, 5],[5, 5]])
- np.eye(n)
创建一个正方的n*n单位的矩阵,对角线为1 其余为0
x = np.eye(2)
print(2)
#array([[ 1., 0.],
[ 0., 1.]])
- np.ones_like(a)
根据数组a的形状生成一个全1的数组
- np.zeros_like(a)
根据数组a的形状生成一个全0的数组
- np.full_like(a,val)
根据a的形状生成一个数组,值全部为val
np.linspace()
根据起止数据等间距填充数据,形成数组
#1=>开始 21=>结束 5=>生成个数 endpoint=True 包含21 默认true
c = np.linspace(1,21,5,endpoint=True)
print(c)
# [ 1. 6. 11. 16. 21.]
np.concatenate()
合并多个数组
#合并a和b数组
np.concatenate((a,b))