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))  # 去重, 并升序返回
相关推荐
IVEN_16 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang17 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮17 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling17 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮20 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽21 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞2 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽2 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers