NumPy

NumPy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

数组创建:(且会自动转换为一样的类型)
NumPy

1、基本属性操作:

查看类型:
NumPy
类型所占空间:
NumPy
数量大小:
NumPy
查看矩阵结构:
NumPy
查看维度:
NumPy

索引与切片:
NumPy

2、数组结构

矩阵格式(多维):
NumPy
NumPy
取值:几行几列 and赋值:
NumPy
NumPy
简单的赋值相当于引用,只能通过copy才能再分配空间,修改时才能互不干扰
NumPy
等差数组
NumPy
bool数组,可筛选数据

  • 变成索引,将true的值取出
    NumPy
    筛选数据:
    NumPy
    np.where 得到所筛选数据的索引:
    NumPy

3、数组类型

指定数组所存类型:
NumPy
指定类型为object,即可使多个类型共存:
NumPy
数组类型转换asarray,转换之后记得另赋空间,原始的数组不会做改变:
NumPy

4、数值运算

求和sum:
NumPy
按轴求和:axis=0,纵轴和 | axis=1,横轴和

  • -1为最后一个轴
    两种方式:
  • np.sum()
  • array.sum()

NumPy
NumPy
乘积:
NumPy
最大最小值:(可指定轴)
NumPy
最值所在索引:
NumPy
mean均值、std标准差、var方差
NumPy
对值做限制(小于2都变成2,大于4都变成4)
NumPy
四舍五入(+decimals精度):
NumPy

5、排序操作

默认按行(独立)排列:
NumPy
将数值排序之后的索引(为排序的索引):
NumPy
向排好序的数组插入一些值,searchsorted可得到插入且排序好的索引:
NumPy
在第三列为升序的情况下,同时改变其他行的顺序:
NumPy

6、对数组形状的操作

改变结构shape,reshape:(大小不能改变)
NumPy
NumPy
增加数组维度 newaxis:
NumPy
压缩操作:将空轴去掉(以上的1,1,1为空轴)
NumPy
转置T或transpose:
NumPy
数组连接:

  • 注意括号*将括号内的数组连接
  • axis=0/1,或者vstack、hstack
    NumPy
    NumPy
    将数组拉平:
    NumPy

7、数组生成

(1)

NumPy
等距的生成:
NumPy
生成log函数的值:
NumPy
生成x、y的网格:
NumPy
NumPy
构造行或列向量:
NumPy

(2)

全数字的矩阵生成:
NumPy
类型定义:
NumPy
先成成空的数组,在用fill填充:
NumPy
**生成维度一样的矩阵: **
NumPy
单位矩阵:
NumPy

8、四则运算

对应位置相乘:(现x,y为向量)
NumPy
矩阵相乘:(需维度相同)

  • 先将y.shape=1,2再与(2,1)的x相乘

NumPy
乘号 ‘ * ’ 会将维度不同的矩阵补全相乘:
NumPy
逻辑与或非:
NumPy

*9、随机模块

构造:rand为0-1区间的
NumPy
一个随机数:
NumPy
某个区间生成n的随机数:
NumPy
生成服从高斯分布的随机数:传入参数
NumPy
设定随机数的精度:
NumPy
洗牌:打乱顺序
NumPy
随机种子:
NumPy

10、文件读写

写文件:
NumPy
读入文件字符的两种方式:

  • 一个一个字符的读
  • 直接loadtxt():默认为空格为分割符
    NumPy
    NumPy

11、数组保存

数组存入txt:

  • fmt:存入的类型
  • delimiter:分隔符
    NumPy
    以np的形式保存和读出:
    NumPy
    NumPy
    压缩文件的形式,存入多个np数组:
    NumPy

NumPy
压缩文件的np读出:
NumPy