科学计算工具-Numpy初探

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:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180304G1103W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券