Numpy基础数据结构
Numpy数组是一个多维数组,称为ndarray。其由两部分组成:
实际的数据
描述这些数据的原数据
导入该库:
多维数组ndarray
数组的基本属性
数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推
在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量
Out:
创建数组
array()函数括号内是列表,元组,数组和生成器等
Out:
arange(),与python的range()类似,在给定间隔内返回均匀间隔的值
Out:
linspace():返回在间隔[开始,停止]上计算的num个均匀间隔的样本
start:| 起始值,stop:结束值
num:生成样本数,默认为50
endpoint:如果为真,则停止是最后一个样本。否则,不包括在内。默认值为True。
retstep:如果为真,返回(样本,步骤),其中步长是样本之间的间距 → 输出为一个包含2个元素的元祖,第一个元素为array,第二个为步长实际值
Out:
zeros()/zeros_like()/ones()/ones_like()
返回给定形状和类型的新数组,用零填充。
- shape:数组纬度,二维以上需要用(),且输入参数为整数
- dtype:数据类型,默认numpy.float64
- order:是否在存储器中以C或Fortran连续(按行或列方式)存储多维数据
Out:
eye() 创建一个正方的N*N的单位矩阵,对角线值为1,其余为0
Out:
Numpy通用函数
数组形状 .T/.reshape()/.resize()
.T方法:转置,如原shape为(3,4),转置结果为(4,3) 。一维数组转置后结果不变
Out:
numpy.reshape(a, newshape, order=’C’):为数组提供新形状,不更改其数据,元素数量一致
Out:
numpy.resize(a, new_shape):返回具有指定形状的新数组,如有必要可重复填充所需数量的元素
Out:
注意:.T/.reshape()/.resize()都是生成新的数组
数组的复制
复制后,ar1和ar2指向内存中的同一个值(python中赋值逻辑)
Out:
copy()方法生成数组及其数据的完整拷贝
Out:
数组类型转换
a.astype():转换数组类型,数组类型用np.int32,而不是直接int32
Out:
数组拆分
numpy.hsplit(ary, indices_or_sections):将数组水平(逐列)拆分为多个子数组(按列拆分)
numpy.vsplit(ary, indices_or_sections)::将数组垂直(行方向)拆分为多个子数组 (按行拆分)
Out:
数组简单运算
Out:
Numpy索引及切片
基本索引及切片
一维数组索引及切片
Out:
二维数组索引及切片
Out:
布尔型索引及切片
布尔型索引:以布尔型的矩阵去做筛选
Out:
数组索引及切片的值更改、复制
一个标量赋值给一个索引/切片时,会自动改变/传播原始数组
Out:
Numpy随机数
numpy.random包含多种概率分布的随机样本,是数据分析辅助的重点工具之一
随机数生成
生成一个标准正太分布的4*4样本值
Out:
Out:
Numpy数据的输入输出
存储数组数据 .npy文件
Out:
读取数组数据 .npy文件
Out:
存储/读取文本文件
np.savetxt(fname, X, fmt=’%.18e’, delimiter=’ ‘, newline=’\n’, header=”, footer=”, comments=’# ‘):存储为文本txt文件
Out:
领取专属 10元无门槛券
私享最新 技术干货