当前位置: 首页 > article >正文

numpy——数学运算

一、标量——矢量

import numpy as np

a = 3.14
b = np.array([[9, 5], [2, 7]])

print(a)
print(b)

# ---------- 四则运算 ----------
print(a + b)  # np.add
print(a - b)  # np.subtract
print(a * b)  # np.multiply
print(a / b)  # np.divide

474db7397569448cae0cb0a836662c76.png

二、矢量——矢量

import numpy as np

a = np.array([[3, 1], [4, 1]])
b = np.array([[9, 5], [2, 7]])

print(a)
print(b)

# ---------- 四则运算 ----------
print(a + b)
print(a - b)
print(a * b)  # 注意: 这不是矩阵的乘法
print(a / b)

d36e68fa1d744fbfb62af299ee0d76f3.png

三、广播

import numpy as np

a = np.array([3, 1])
b = np.array([[9, 5], [2, 7]])

# print(a)
# print(a.shape)
# print(b)
# print(b.shape)

# ---------- 广播 ----------
# 当矩阵维度不同时, 可以进行广播操作
print(a + b)
print(a - b)
print(a * b)
print(a / b)

b9e260988c294f7bb01fbfef87f071f4.png

四、矢量相乘

import numpy as np

a = np.array([[9, 5], [2, 7]])
b = np.array([[3, 1, 4], [1, 5, 9]])

print(a)
print(b)

# ---------- 矩阵相乘(前列=后行) ----------
print(np.dot(a, b))

13bad08825c64af7bcfb11689150b883.png

五、常见计算

import numpy as np

t = np.random.uniform(0, 10, size=(3, 4))
print(t)

print(np.ceil(t))  # 向上取整
print(np.floor(t))  # 向下取整
print(np.rint(t))  # 四拾伍入
print(np.isnan(t))  # 判空为 NAN(Not A Number)
print(np.where(t > 5, 1, 0))  # 三元运算: 1 if t > 5 else 0   #数据预处理

52d3c99c70ed4859a29566c328e0fc64.png

六、统计函数

import numpy as np

# 姓名  数学  语文  总分
# 小明   63   92   155
# 小红   89   76   165
# 总分   152  168


t = np.array([
    [63, 92],
    [89, 76],
])

# # ---------- 求和 ----------
# print(np.sum(t, axis=1))  # 按行求和
# print(np.sum(t, axis=0))  # 按列求和

# ---------- 平均值 ----------
print(np.mean(t, axis=1))  # 按行求平均值
print(np.average(t, axis=1))  # 按行求平均值
#
print(np.mean(t, axis=0))  # 按列求平均值
print(np.average(t, axis=0))  # 按列求平均值
#
# ---------- 最大与最小 ----------
print(np.max(t, axis=1))  # 按行求最大值
print(np.max(t, axis=0))  # 按列求最大值

print(np.min(t, axis=1))  # 按行求最小值
print(np.min(t, axis=0))  # 按列求最小值
#
# ---------- 标准差与方差 ----------
print(np.std(t, axis=1))  # 按行求标准差
print(np.var(t, axis=1))  # 按行求方差
#
# # ---------- 最值的索引 ----------
print(np.argmax(t, axis=1))  # 按行求最大值的索引
print(np.argmin(t, axis=1))  # 按行求最小值的索引
#
# ---------- 累计操作 ----------
print(np.cumsum(t, axis=1))  # 累加和: 当前元素与前一个元素的和
print(np.cumprod(t, axis=1))  # 累乘积: 当前元素与前一个元素的积

f82d1b489f5a4647a9742641f045e14f.png

七、判断函数

import numpy as np

t = np.array([[9,5], [2, 7]])


print(t.any())  # 至少有一个元素满足指定条件, 返回True   cyc:没空的
print(t.all())  # 所有的元素满足指定条件, 返回True

t = np.array([[3, 1], [4, 1]])
print(np.unique(t))  # 去重, 并升序返回

d6832bbec5884c9aa084d4ba9dea75c6.png

 


http://www.kler.cn/a/370852.html

相关文章:

  • Ubuntu20.4和docker终端指令、安装Go环境、安装搜狗输入法、安装WPS2019:保姆级图文详解
  • [系统安全] 六十一.恶意软件分析 (12)LLM赋能Lark工具提取XLM代码的抽象语法树(初探)
  • 中职网络建设与运维ansible服务
  • 【前端】框架-构建-包管理-语言-语法-生态工具
  • vmware虚拟机配置ubuntu 18.04(20.04)静态IP地址
  • keepalived双机热备(LVS+keepalived)实验笔记
  • 【AI日记】24.10.29 调整战略:做项目,先入行,循序渐进,顺势而为
  • Vue3 学习笔记(九)条件渲染详解
  • 6977 树的统计
  • 深度学习:Sigmoid函数详解
  • 功能更新丨AI黑科技助燃VR全景新势能
  • 练习LabVIEW第二十三题
  • 掌握ElasticSearch(五):查询和过滤器
  • vue3.0 + vite打包完成后,将dist下的资源包打包成zip的两种方法
  • 前端内存空间(堆、栈、队列、拷贝、垃圾回收)
  • WPF+MVVM案例实战(四)- 自定义GroupBox边框样式实现
  • 区块链开发:DAPP、NFT、DAO、公链与钱包软件
  • Spring Boot植物健康系统:智慧农业的新趋势
  • 邮件发送失败: [Errno 110] Connection timed out
  • RNN+LSTM
  • Matter:乐鑫设备证书 (DAC) 配置服务新升级
  • RedisIO多路复用
  • 【已解决】【MySQL】IDEA配置数据库 报错 未配置SQL方言 无法使用SQL提示
  • 力扣题86~90
  • Spring Boot 应用开发概述
  • 【云原生】云原生后端:安全性最佳实践