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

python常用库的学习

指南覆盖常用库从基础到实战的核心内容,可点赞收藏作为日常开发的速查手册,遇到具体问题时直接对照即可快速解决。持续补充更新中


Numpy库

NumPy(Numerical Python)是 Python 用于数值计算的开源库,核心是提供了高性能的多维数组对象(ndarray)和一套数学函数,用于快速操作数组(比 Python 原生列表快 50~100 倍)。

Python 列表 vs NumPy 数组

特性Python 列表NumPy 数组
数据类型可存不同类型(int/str/float)仅存同类型元素
运算效率需循环遍历,效率低向量化运算,效率高
维度支持一维为主,多维需嵌套原生支持任意维度(1D/2D/3D)
内存占用大(每个元素存类型信息)小(统一存储,连续内存)
常用操作

创建数组

#一维数组 arr1 = np.array([1, 2, 3]) #二维数组 arr2 = np.array([[1,2], [3,4]], dtype=np.float64) #核心属性 arr = np.array([[1,2,3], [4,5,6]]) print("数组形状:", arr.shape) # (2,3) → 2行3列 print("数组维度:", arr.ndim) # 2 → 二维数组 print("元素总数:", arr.size) # 6 → 2*3=6个元素 print("数据类型:", arr.dtype) # int64 → 元素类型 print("每个元素字节数:", arr.itemsize) # 8 → int64占8字节 #两行三列元素为0 np.zeros((2,3)) #两行三列元素为1 np.ones((2,3)) # np.linspace(start, stop, num=50, endpoint=True) # num生成的元素个数 endpoint是否包含终止值默认True) arr = np.linspace(0, 1, 5) # 0到1生成5个等距数 #np.arange(start, stop, step, dtype=None) arr = np.arange(0, 10, 2) #[0 2 4 6 8] 起始值0,终止值10,步长2 #np.random.rand(shape) 生成 0~1 之间的随机数(均匀分布) arr = np.random.rand(2,2) # 2x2随机数组 #np.random.randn(shape) 生成标准正态分布(均值0,方差1)shape为随机数 arr = np.random.randn(3) #np.random.randint(low, high=None, size=None) arr = np.random.randint(0, 10, size=(2,3)) #最小值0,最大值10,数组形状2行3列

形状操作:

#arr.flatten() 多维数组转一维 arr = np.array([[1,2], [3,4]]) print(arr.flatten()) # [1 2 3 4] #arr.transpose()/ arr.T 数组转置(行变列,列变行) arr = np.array([[1,2], [3,4]]) print(arr.T) # [[1 3], [2 4]] #arr.resize(new_shape) 改变数组形状(原地修改,元素不够则补0) arr = np.array([1,2,3]) arr.resize((2,2)) print(arr) # [[1 2], [3 0]]

算术运算

arr1 = np.array([1,2,3]) arr2 = np.array([4,5,6]) # 元素级运算(对应位置计算) print("加法:", arr1 + arr2) # [5 7 9] print("减法:", arr1 - arr2) # [-3 -3 -3] print("乘法:", arr1 * arr2) # [4 10 18] print("除法:", arr1 / arr2) # [0.25 0.4 0.5 ] print("平方:", arr1 **2) # [1 4 9] print("取模:", arr2 % arr1) # [0 1 0]

矩阵运算

#矩阵点积需满足arr1行数 = arr2列数 arr1 = np.array([[1,2], [3,4]]) arr2 = np.array([[5,6], [7,8]]) print(np.dot(arr1, arr2))

统计函数

#求和函数 arr = np.array([[1,2,3], [4,5,6]]) np.sum(arr, axis=0) #求和 参数axis=0:列求和,axis=1:行求和;无参数则所有元素和 print(np.sum(arr)) # 21(所有元素和) print(np.sum(arr, axis=0)) # [5 7 9](列求和) print(np.sum(arr, axis=1)) # [6 15](行求和) #求平均值 np.mean(arr, axis=None) print(np.mean(arr)) # 3.5 #求最大/小值 np.max(arr, axis=None) print(np.max(arr)) # 6 print(np.min(arr, axis=1)) # [1 4](每行最小值) #最大值/最小值的索引np.argmax(arr, axis=None) print(np.argmax(arr)) # 5(一维索引) print(np.argmax(arr, axis=1)) # [2 2](每行最大值索引) #标准差/方差 np.std(arr) np.var(arr) print(np.std(arr)) # 1.7078(所有元素标准差) #中位数 np.median(arr) print(np.median(arr)) # 3.5

数组索引与切片(核心记左闭右开

#一维数组(和列表类似) arr = np.arange(10) print(arr[5]) # 5(单个索引) print(arr[2:5]) # [2 3 4](切片:左闭右开) print(arr[:5]) # [0 1 2 3 4](前5个) print(arr[5:]) # [5 6 7 8 9](后5个) print(arr[::2]) # [0 2 4 6 8](步长2) print(arr[::-1]) # [9 8 7 6 5 4 3 2 1 0](反转)

二维数组

arr = np.array([[1,2,3], [4,5,6], [7,8,9]]) print(arr[1, 2]) # 6(第2行第3列,索引从0开始) print(arr[1]) # [4 5 6](第2行所有列) print(arr[:, 1]) # [2 5 8](所有行第2列) print(arr[0:2, 1:3]) # [[2 3], [5 6]](前2行,第2-3列)

布尔索引

arr = np.array([[1,2,3], [4,5,6], [7,8,9]]) # 筛选大于5的元素 mask = arr > 5 print(mask) # [[False False False], [False False True], [True True True]] print(arr[mask]) # [6 7 8 9] # 直接筛选 print(arr[arr > 5]) # [6 7 8 9]
实践示例

用numpy实现简单线性回归

http://www.jsqmd.com/news/488989/

相关文章:

  • Nacos 3.0新特性解析:为什么控制台端口独立为8080?
  • ROS2 -03-工作空间与功能包
  • Symbol数据类型:特性解析与实战应用
  • C语言文件操作实战:读写二进制图片数据调用DeOldify服务
  • ROS2功能包构建与文件结构解析:从colcon编译到项目部署
  • Pytorch之torch.nn.Conv2d详解
  • 基于STC8H8K64U的光学仪器协同采集平台设计
  • OSPF与ISIS的区别
  • C#连接MySQL数据库报错排查:从SslMode=None到安全连接实践
  • Swift构造过程介绍
  • Swift 函数基础
  • 8元搞定Cursor永久账号:手把手教你用域名邮箱绕过限制(附Spaceship购买教程)
  • 以太网详解(七)TCP/IP四层模型与协议栈实战
  • PDSC文件详解:如何为你的MDK软件包编写完美的XML描述
  • Flux Sea Studio 海景摄影生成工具:Agent智能体架构设计——打造自主规划与迭代的海景创作智能体
  • CH552P低成本测温风扇控制器设计
  • OFA-iic/ofa_visual-entailment_snli-ve_large_en保姆级教程:开箱即用GPU推理全流程
  • JS 实现前端给图片加水印 及 叠加图片
  • Torch-TensorRT 相关
  • Android11系统定制实战:如何彻底禁用下拉状态栏(附完整代码修改)
  • 开源渗透测试项目
  • 图片变视频神器Wan2.2-I2V-A14B体验:480P高清流畅,效果惊艳
  • Phi-4-reasoning-vision-15B应用场景:政务办事截图自动分类与材料完整性校验
  • 避开这些坑!亚太杯数学建模A题灌溉系统布线规划实战指南
  • 百川2-13B-Chat WebUI v1.0 入门必看:输入框支持Markdown语法与代码块自动渲染
  • Linux系列七:linux常用命令二
  • 安卓手机抓包神器VNET实战:5分钟搞定京东wskey提取(附青龙面板自动转换教程)
  • vLLM私有化部署实战:从零构建企业级LLM推理服务
  • 2026年口碑好的倒伏照明灯公司推荐:车载自动倒伏照明灯/应急救援倒伏照明灯/野外勘测倒伏照明灯公司精选 - 品牌宣传支持者
  • 习题2.1 简单计算器