numpy笔记

numpy库
ndarray是numpy库的心脏,是多维数组,具有矢量运算,高效节省空间的能力
导入numpy库
import numpy as np

数组创建
np.array([1,2,3,4]) # 一维数组

数组属性
.shape # 返回几行几列
.ndim # 返回几维数组
.dtype # 返回类型


数组可以直接对每个元素进行运算不用循环

常用数组
np.arange(0,10,1)  # 生成左闭右开区间数组
np.linspace(0,1,11) # 生成等差数列,第三个参数是生成的个数
np.zeros([3,4])# 生成几行几列的数组or np.zeros([3,4,5]])三行四列五层

生成随机数
np.random.random(10) # 无约束条件下的随机数10个
np.random.rand(3,4) # 生成指定shape的均匀分布随机数
np.random.randn(2,2,3) # 生成指定shape的正态分布随机数
np.random.randint(1,10,(3,4)) # 生成1-10 3行4列
 
索引访问数组
正序:0-n  逆序:n - -1 数组索引
多维数组[2,3] # 获取第三行行第四列的值
多维数组[:,1] # 获取所有行第二列的值
可切片,左闭右开

布尔型索引
数组[[False,True,True]] # True的才会返回
数组[数组 > 2] # 数组进行比较返回布尔值进行选择

变换数组shape
数组.reshape([3,4]) # 可以重新转换shape
数组.ravel() # 展开成一维数组
数组.flatten() # 按行展开数组,加上参数'F'就是按列,默认按行

数组拼接
np.vstack([[数组1,数组2]) # 进行纵向的拼接
np.hstack([数组1,数组2]) # 进行横向的拼接

numpy矩阵
np.mat("123;456;789") # 每一行数组用;进行分割创建矩阵
np.matrix([[1,2,3],[4,5,6],[7,8,9]])  # 构建矩阵

矩阵属性
.T # 进行转置
.I # 矩阵的逆

通用函数
数组 + 1 # 数组可以直接进行对每个元素进行四则运算+ - * /
数组和数组之间也可以进行直接运算,对应元素会进行运算
np.any(数组 == 0.2) # 数组里面的元素有一个满足就返回true
np.all(数组 == 0.2) # 数组里面的所有元素满足就返回true

数组广播机制,当我们的数组和另一个数组进行运算的时候,有一个元素只有一行一列,那么就会自动复制相同个数进行运算

读写文件
np.save(路径.npy,数组) # 把数组保存成二进制文件npy
np.load(路径) # 读取二进制数组文件
np.savez(路径,数组,数组) # 保存多个数组npz
读取保存的多个数组
np.load(路径.npz).files # files输出数据文件中有那些数组对象,然后我们可以通过中括号字典方式获取
np.savetxt(路径.txt,数组,fmt='%d',delimiter=",") # 保存数组成文本,用逗号进行分割
np.loadtxt(路径) # 读取文本二进制数组

数组统计分析操作
数组.sort(axis=0) # 对每一行元素按大小进行排序
数组.argsort(axis=0) # 返回排序后的下标
数组.tile(数组,次数) # 对数组进行复制多少次数操作
数组.repeat(数组,次数,axis=1) # 对数组按列进行复制
数组.mean() # 统计数组所有元素的均值,有axis参数
数组.max() # 求最大值,有axis参数
数组.argmax() # 返回最大值的下标,有axis参数
数组.std() # 求标准差
数组.var() # 求方差
数组.sum() # 求和
数组.cumsum() # 求累计和
数组.cumprod() # 求累计积

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值