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

二、矢量------矢量

复制代码
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)

三、广播

复制代码
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)

四、矢量相乘

复制代码
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))

五、常见计算

复制代码
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   #数据预处理

六、统计函数

复制代码
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))  # 累乘积: 当前元素与前一个元素的积

七、判断函数

复制代码
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))  # 去重, 并升序返回
相关推荐
ada7_3 分钟前
LeetCode(python)78.子集
开发语言·数据结构·python·算法·leetcode·职场和发展
我送炭你添花19 分钟前
Pelco KBD300A 模拟器:06+5.串口实现的逻辑优化、配置管理与协议完善(二次迭代)
python·运维开发
databook21 分钟前
前注意加工:让你的图表抓住读者的眼球
python·数据分析·数据可视化
知行学思27 分钟前
Python配置管理完全指南:从dotenv到pydantic_settings
数据库·python·fastapi·环境变量·配置管理·pydantic·dotenv
nbsaas-boot43 分钟前
Go 项目中如何正确升级第三方依赖(Go Modules 实战指南)
开发语言·后端·golang
wadesir1 小时前
C++基本数据类型详解(零基础掌握C++核心数据类型)
java·开发语言·c++
skywalk81632 小时前
wow文件处理trinitycore的文件处理
开发语言·游戏
一路往蓝-Anbo3 小时前
STM32单线串口通讯实战(五):RTOS架构 —— 线程安全与零拷贝设计
c语言·开发语言·stm32·单片机·嵌入式硬件·观察者模式·链表
leiming63 小时前
c++ map容器
开发语言·c++·算法
坚持就完事了3 小时前
JavaScript
开发语言·javascript·ecmascript