Numpy:
一、是什么:
1.Numpy 的核心是 ndarray ( n-dimension-array )对象,这个对象封装了同质数据类型的n维数组。
2.ndarray:只能有一种数据类型,而且每个元素占用内存空间大小相同。
3.转化为np.array(object, dtype=None):np.array(),自动服从向上转化原则(整数<小数<字符串),也可以规定dtype强制转化。
4.查看数据类型 A.dtype
5.转换数据类型 A.astype
6.Numpy 的矢量化(向量化)功能实现相关运算
二、创建常见的数组:
1.全0数组:np.zeros((size, dtype)
2.全1数组:np.ones((size, dtype)
3.单位矩阵:np.eye(size, dtype)
4.对角矩阵:np.diag(value1,value2,...)
5.设定具体的值:np.full(size,value)
6.空值:np.nan (浮点型)
7.无穷大:np.inf(浮点型)
8.随机数组:
随机分布np.random.randint(value1, value2, (size)) 区间=[value1,value2)
随机分布(0-1)np.random.rand(size) = np.random.random((size)) 区间=[0,1)
均匀分布np.random.uniform(value1, value2, (size))
正态分布np.random.normal(均值, 标准差, (size))
t分布np.random.standard_t(自由度, (size))
f分布np.random.f(自由度1, 自由度2, (size))
卡方分布np.random.chisquare(自由度, (size))
二项分布np.random.binomial(n, p, 实验次数)
随机数种子(伪随机)np.random.seed(value)
线性序列1 arange([start,] stop[, step,]) 左闭右开区间
线性序列2 np.linspace(start,stop,产生数量,endpoint=False,retstep=True)
# 默认是闭区间, 设置之后变成左闭右开区间
# 可显示步长
三、常用属性:
1.数组形状x.size
2.数组维度x.ndim
3.元素个数x.size
四、索引和切片(重要):
1.单元素索引:同标准Python
2.高维数组索引:x2[ 行索引 , 列索引 ] # x2一共有两个维度, 分别是行和列
五、复制和视图:
1.完全不复制,a = b ,b和a都指向同一个内存;id(a) = id (b)
2.视图(浅复制):c = a.view() ,数据共享,形状独立 a.base = c.base
3.深复制:d = a.copy() 两组数据完全独立 a.base = d.base
六、数组的变形:
1.改变:reshape改变数组的形状,resize改变原数组(可以将其中的一个维度指定为 -1,Numpy 会自动计算出它的真实值)
2.平铺:x.ravel()
3.转置:X.T / X.transport()
七、数组的拼接:
np.concatenate((a, b))
np.concatenate((x2, x3),axis=0 ) # 延着外层的轴进行拼接
np.concatenate((x2, x3),axis=1 ) # 沿着内层的轴进行拼接
八、数组的分裂:
np.split(ary, indices_or_sections, axis=0)
九、广播机制
十、Numpy运算:
1.常用函数
2.规约函数:
np.sum(x, axis = 1)
np.cumsum(x, axis = 1)
np.argmax(x, axis = 1)








暂无数据