Numpy库:常用函数

NumPy是一个用于Python的库,提供大量的函数和工具,用于处理大型多维数组和矩阵,以及进行相关的数学运算。

常用函数

numpy数组创建

  • numpy.array(): 创建一个数组。
  • numpy.zeros(): 创建一个所有元素都为0的数组。
  • numpy.ones(): 创建一个所有元素都为1的数组。
  • numpy.eye(): 创建一个单位矩阵。
  • numpy.identity(): 创建一个方阵,对角线上的元素为1,其余元素为0。

数组操作

  • numpy.sum(): 求和。
  • numpy.mean(): 计算平均值。
  • numpy.max(): 找出最大值。
  • numpy.min(): 找出最小值。
  • numpy.std(): 计算标准差。
  • numpy.var(): 计算方差。
  • numpy.shape(): 获取数组的形状。
  1. 线性代数

    • numpy.linalg.inv(): 计算矩阵的逆。
    • numpy.linalg.det(): 计算矩阵的行列式。
    • numpy.linalg.eig(): 计算特征值和特征向量。

数学函数

  • numpy.sin(), numpy.cos(), numpy.tan(): 三角函数。
  • numpy.exp(), numpy.log(): 指数和对数函数。
  • numpy.sqrt(): 开平方根。

数组排序和搜索

  • numpy.sort(): 对数组进行排序。
  • numpy.argsort(): 返回排序后的索引。
  • numpy.where(): 返回满足条件的元素的索引。

文件读写

numpy.load(), numpy.save(): 用于读写二进制文件。
7.

随机数生成

  • numpy.random.rand(): 生成0到1之间的随机数。
  • numpy.random.randint(): 生成指定范围内的随机整数。

线性代数操作

  • numpy.dot(): 点乘(矩阵乘法)。
  • numpy.cross(): 叉乘(向量乘法)。
  1. 广播

    广播是一种强大的机制,允许在执行算术运算时对不同形状的数组进行操作。例如,你可以将一个形状为(3,)的一维数组与一个形状为(3,3)的二维数组进行算术运算,而不需要改变任何数组的形状或大小。这种机制在NumPy中非常常见,并允许你以简洁、高效的方式处理复杂的数学运算。

示例

python 复制代码
# 导入NumPy库
import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])
print(arr)

# 创建一个所有元素都为0的数组
zeros_arr = np.zeros(5)
print(zeros_arr)

# 创建一个所有元素都为1的数组
ones_arr = np.ones(5)
print(ones_arr)

# 创建一个单位矩阵
eye_arr = np.eye(3)
print(eye_arr)

# 创建一个方阵,对角线上的元素为1,其余元素为0
identity_arr = np.identity(3)
print(identity_arr)

# 求和
sum_arr = np.sum(arr)
print(sum_arr)

# 计算平均值
mean_arr = np.mean(arr)
print(mean_arr)

# 找出最大值
max_arr = np.max(arr)
print(max_arr)

# 找出最小值
min_arr = np.min(arr)
print(min_arr)

# 计算标准差
std_arr = np.std(arr)
print(std_arr)

# 计算方差
var_arr = np.var(arr)
print(var_arr)

# 获取数组的形状
shape_arr = np.shape(arr)
print(shape_arr)

# 计算矩阵的逆
inv_arr = np.linalg.inv(eye_arr)
print(inv_arr)

# 计算矩阵的行列式
det_arr = np.linalg.det(eye_arr)
print(det_arr)

# 计算特征值和特征向量
eig_arr = np.linalg.eig(eye_arr)
print(eig_arr)

# 三角函数
sin_arr = np.sin(arr)
print(sin_arr)

cos_arr = np.cos(arr)
print(cos_arr)

tan_arr = np.tan(arr)
print(tan_arr)

# 指数和对数函数
exp_arr = np.exp(arr)
print(exp_arr)

log_arr = np.log(arr)
print(log_arr)

# 开平方根
sqrt_arr = np.sqrt(arr)
print(sqrt_arr)

# 对数组进行排序
sort_arr = np.sort(arr)
print(sort_arr)

# 返回排序后的索引
argsort_arr = np.argsort(arr)
print(argsort_arr)

# 返回满足条件的元素的索引
where_arr = np.where(arr > 2)
print(where_arr)

# 读写二进制文件
np.save('data.npy', arr)
loaded_arr = np.load('data.npy')
print(loaded_arr)

# 生成0到1之间的随机数
rand_arr = np.random.rand(5)
print(rand_arr)

# 生成指定范围内的随机整数
randint_arr = np.random.randint(1, 10, size=5)
print(randint_arr)

# 点乘(矩阵乘法)
dot_arr = np.dot(eye_arr, eye_arr)
print(dot_arr)

# 叉乘(向量乘法)
cross_arr = np.cross(eye_arr, eye_arr)
print(cross_arr)

# 广播(Broadcasting)
broadcast_arr = np.add(eye_arr, ones_arr)
print(broadcast_arr)
相关推荐
涛涛讲AI20 分钟前
扣子平台音频功能:让声音也能“智能”起来
人工智能·音视频·工作流·智能体·ai智能体·ai应用
霍格沃兹测试开发学社测试人社区22 分钟前
人工智能在音频、视觉、多模态领域的应用
软件测试·人工智能·测试开发·自动化·音视频
herosunly41 分钟前
2024:人工智能大模型的璀璨年代
人工智能·大模型·年度总结·博客之星
PaLu-LI1 小时前
ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点
c++·人工智能·学习·线性代数·ubuntu·计算机视觉·矩阵
呆呆珝1 小时前
RKNN_C++版本-YOLOV5
c++·人工智能·嵌入式硬件·yolo
笔触狂放1 小时前
第一章 语音识别概述
人工智能·python·机器学习·语音识别
ZzYH221 小时前
文献阅读 250125-Accurate predictions on small data with a tabular foundation model
人工智能·笔记·深度学习·机器学习
格林威1 小时前
BroadCom-RDMA博通网卡如何进行驱动安装和设置使得对应网口具有RDMA功能以适配RDMA相机
人工智能·数码相机·opencv·计算机视觉·c#
程序员阿龙2 小时前
【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测
人工智能·数据挖掘·数据分析与可视化·数据挖掘技术·人才市场预测·招聘信息分析·在线招聘平台
亲持红叶2 小时前
什么是集成学习
人工智能·机器学习