Python NumPy数值计算核心指南

Python NumPy数值计算核心指南

一、NumPy简介

NumPy是Python数值计算的核心库,提供了高性能的多维数组对象及对其操作的工具。

二、数组基础

python 复制代码
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))
print(arr.shape)

三、数组创建

python 复制代码
arr1 = np.array([1, 2, 3, 4, 5])
zeros = np.zeros((3, 4))
ones = np.ones((2, 3))
range_arr = np.arange(0, 10, 2)
linspace_arr = np.linspace(0, 1, 5)
random_arr = np.random.rand(3, 3)
random_int = np.random.randint(0, 10, (3, 3))

四、数组操作

索引和切片

python 复制代码
arr = np.array([0, 1, 2, 3, 4, 5])
print(arr[2])
print(arr[1:4])
print(arr[:3])
print(arr[::2])

多维数组索引

python 复制代码
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix[0, 0])
print(matrix[1, :])
print(matrix[:, 2])
print(matrix[1:3, 1:3])

五、数学运算

python 复制代码
a = np.array([1, 2, 3, 4])
b = np.array([5, 6, 7, 8])
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(np.sum(a))
print(np.mean(a))
print(np.std(a))
print(np.max(a))
print(np.min(a))

六、矩阵运算

python 复制代码
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
C = np.dot(A, B)
C = A @ B
print(A.T)
A_inv = np.linalg.inv(A)
det = np.linalg.det(A)
eigenvalues, eigenvectors = np.linalg.eig(A)

七、形状操作

python 复制代码
arr = np.random.rand(12)
print(arr.shape)
reshaped = arr.reshape(3, 4)
print(reshaped.shape)
flattened = reshaped.flatten()
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
concatenated = np.concatenate([a, b], axis=0)
stacked = np.stack([a, b], axis=0)

八、广播机制

python 复制代码
A = np.array([[1, 2, 3], [4, 5, 6]])
B = np.array([10, 20, 30])
print(A + B)
A = np.array([[1], [2], [3]])
B = np.array([10, 20, 30])
print(A + B)

九、实验结果

常用NumPy函数速查表:

函数 说明 示例
np.array() 创建数组 np.array(1,2,3)
np.zeros() 零数组 np.zeros((2,3))
np.arange() 范围数组 np.arange(0,10,2)
np.reshape() 改变形状 arr.reshape(3,4)
np.dot() 矩阵乘法 np.dot(A,B)
np.mean() 平均值 np.mean(arr)
np.std() 标准差 np.std(arr)

十、总结

NumPy是Python科学计算的基础,掌握数组创建、操作、数学运算和广播机制,能够高效完成各种数值计算任务。


标签: Python | NumPy | 数值计算 | 数据处理 | 科学计算

相关推荐
FBI HackerHarry浩1 小时前
解决pip 安装 numpy 时元数据生成失败
numpy·pip
FBI HackerHarry浩1 小时前
修改Pycharm2023.2.5连接数据库创建的SQL文件保存的默认位置
python·pycharm
老徐聊GEO1 小时前
AI搜索获客:亲测有效的实践案例分享
大数据·人工智能·python
只做人间不老仙1 小时前
C++ grpc 拦截器示例学习
开发语言·c++·学习
踏着七彩祥云的小丑1 小时前
Go学习第7天:Map集合 + 递归函数 + 类型转换
开发语言·学习·golang·go
何以解忧,唯有..1 小时前
Go语言变量的声明方式详解
开发语言·后端·golang
HKkuaidou1 小时前
基于深度学习的药用草本植物识别系统
pytorch·python·深度学习·resnet
半夜燃烧的香烟1 小时前
springboot3.0 集成minio上传文件,支持多个桶名
java·开发语言·spring boot
不会C语言的男孩1 小时前
Linux 系统编程 · 第 1 章:Linux 系统概述
c语言·开发语言