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

NumPy 重要知识点总结

一、数组操作之连接数组

用于将多个同形状数组沿指定轴合并,核心函数包括:

  1. concatenate () 函数

    • 原型:numpy.concatenate((a1, a2, ...), axis)
    • 作用:沿指定轴连接多个同类型、同形状数组(默认 axis=0,垂直连接)。
    • 示例:2×2数组a=[[0,1],[2,3]]b=[[4,5],[6,7]],沿 axis=0 连接后为4×2数组[[0,1],[2,3],[4,5],[6,7]]
    • 代码:                                                                                                                                          
  2. stack () 函数

    • 原型:numpy.stack(arrays, axis)
    • 作用:沿新轴连接数组序列(会增加维度)。
    • 示例:2×2数组ab,沿 axis=0 堆叠后为2×2×2三维数组[[[0,1],[2,3]], [[4,5],[6,7]]]
    • 代码:                                                                                                                                         
  3. hstack () 函数

    • 作用:水平堆叠数组(沿 axis=1,列方向)。
    • 示例:2×2数组x=[[0,1],[2,3]]y=[[4,5],[6,7]],水平堆叠后为2×4数组[[0,1,4,5],[2,3,6,7]]
    • 代码:                                                                                                                                          
  4. vstack () 函数

    • 作用:垂直堆叠数组(沿 axis=0,行方向)。
    • 示例:2×2数组ab,垂直堆叠后与concatenate(a,b, axis=0)效果一致,为4×2数组。
    • 代码:                                                                                                                                         

二、数组操作之分割数组

用于将数组沿指定轴拆分为子数组,核心函数包括:

  1. split () 函数

    • 原型:numpy.split(ary, indices_or_sections, axis=0)
    • 作用:沿指定轴分割数组为子数组。
    • 参数:
      • indices_or_sections:若为整数,平均切分;若为数组,指定切分位置(左开右闭);
      • axis:默认 0(横向切分),1 为纵向切分。
    • 示例:1×12数组[0-11]split(x,3)平均分为 3 个1×4子数组;split(x,[2,5])按位置 2 和 5 切分为[0-1]、[2-4]、[5-11]
    • 代码:                                                                                                                                                                                                                                                                              
  2. hsplit () 函数

    • 作用:水平分割数组(沿 axis=1,列方向)。
    • 代码:                                                                                                                                                                                              
  3. vsplit () 函数

    • 作用:垂直分割数组(沿 axis=0,行方向)。
    • 代码:                                                                                                                                                                                               

三、数组操作之元素添加与删除

用于调整数组元素数量或去重,核心函数包括:

  1. resize () 函数

    • 作用:修改数组形状,若新形状大于原数组,重复原数据填充;若小于,截断数据。
    • 示例:2×3数组[[1,2,3],[4,5,6]]调整为3×2后为[[1,2],[3,4],[5,6]]
    • 代码:                                                                                                                                        
  2. append () 函数

    • 作用:向数组添加元素,默认展平数组;指定 axis 时沿该轴添加(需形状匹配)。
    • 示例:2×3数组aappend(a, [[7,8,9]], axis=0)沿行添加后为3×3数组。
    • 代码:                                                                                                                                                                        
  3. insert () 函数

    • 原型:numpy.insert(arr, obj, values, axis)
    • 作用:在指定索引前插入值,指定 axis 时沿该轴插入(值会广播匹配形状)。
    • 代码:                                                                                                                                                                                                
  4. delete () 函数

    • 原型:numpy.delete(arr, obj, axis)
    • 作用:删除指定子数组,默认展平数组;指定 axis 时沿该轴删除。
    • 代码:                                                                                                                                                                                 
  5. unique () 函数

    • 作用:去除数组重复元素,返回排序后的唯一值数组。
    • 扩展参数:return_counts=True可返回各元素在原数组中的出现次数。
    • 代码:                                                                                                                                                  

 四、课堂练习

                                                              

http://www.dtcms.com/a/314757.html

相关文章:

  • Anthropic的商业模式与战略
  • 2.4- WPF中非 UI 线程上安全地更新 UI 控件方法
  • QT之QLocalSocket下的两进程互相守护
  • Nexus配置npm私有仓库
  • 开源的现代数据探索和可视化平台:Apache Superset 使用 Docker Compose
  • 单片机裸机程序设计架构
  • MLIR Introduction
  • Linux84 SHELL编程:流程控制 前瞻(1)
  • 数字信号处理_编程实例1
  • 京东开源新框架DripTable:轻量高效的企业级动态列表解决方案
  • 贪心算法
  • 基于Matlab的人脸识别签到系统
  • 前后端流式交互的几种方式
  • 学习嵌入式第十九天
  • 向日葵参考基因组
  • Day49 Java面向对象04 类与对象的创建
  • 【赵渝强老师】达梦数据库的DMSQL
  • Dify的部署(Docker Desktop )
  • 【Python小工具】图片转PDF
  • 破除陈规陋习的有效措施
  • Dynamic Programming【DP】2
  • RAG中的评估指标总结:BLEU、ROUGE、 MRR、MAP、nDCG、Precision@k、Recall@k 等
  • AR远程协作网页设计:虚实融合场景下的故障标注与操作指引界面
  • cf--思维训练
  • Git如何为多平台配置密钥和用户信息?
  • Git简易教程
  • PEAFOWL-IEEE-2025
  • Integer Types Range and varieties
  • 20250723-算法分析与设计之旅行商问题(Traveling Salesman Problem,TSP)
  • Antlr学习笔记 01、maven配置Antlr4插件案例Demo