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

python速通小笔记-------3.Numpy库

1.Numpy介绍

1.1数据类型

为克服列表的缺点,一个NumPy数组 只容纳一种数据类型,以节约内存。
为方便起见,可将NumPy数组简单分为整数型数组浮点型数组

1.2.实际操作

在这里插入图片描述

  • 想要使用numpy,需要有import numpy as np类似头文件的操作
  • 使用np.array()函数把list转变为numpy数组

在这里插入图片描述

  • 如果有一个元素是浮点型,那么整个numpy数组就会变成浮点型数组

1.3 同化操作

在这里插入图片描述

1.4 类型转换------np.astype(想要转换的类型)

在这里插入图片描述
当然,运算也会导致numpy数组发生转型。例如:

在这里插入图片描述

2.数组维度

在这里插入图片描述
在这里插入图片描述

2.1 numpy.shape()--------查看数组的维度

在这里插入图片描述

2.2 numpy.reshape()--------重塑数组的维度

在这里插入图片描述
在这里插入图片描述

3.数组的创建

1.list转换为numpy数组----------np.array()

在这里插入图片描述

2.创建递增数组,和list类似------------np.arange()

在这里插入图片描述

3.创建同值数组------------np.zeros()【全为0】/np.ones()【全为1】

在这里插入图片描述

  • 如果想创建其他数值,可以用 该数值*np.ones(形状)

4.创建随机数组------------np.random()

1.np.random.random()------0-1均匀分布的浮点型随机数组

在这里插入图片描述

  • 那么如果我想要生成范围为60-100的形状为3行3列的浮点数组怎么办呢?

在这里插入图片描述

  • 前面的(100-60)*代表生成0-40的浮点型数组,最后加60,就是60-100的数组啦。
2.np.random.randint(起点,终点,(形状))------均匀分布的整数型随机数组

在这里插入图片描述

  • 当然,使用前一种方法也可以生成,不过要记得使用.astype(int)

在这里插入图片描述

3.np.random.normal(均值,标准差,(形状))------正态分布的浮点型随机数组

在这里插入图片描述

4.访问数组元素

1.数组索引

在这里插入图片描述

  • 和list一致,不多作解释

在这里插入图片描述

2.花式索引

  • 注意,花式索引是有两层【】的,普通索引只有一层

在这里插入图片描述

3.numpy数组的切片

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

4.矩阵的切片

在这里插入图片描述


在这里插入图片描述

  • 跳跃取样
1.获取矩阵的行

在这里插入图片描述

  • 而单独提取行的时候可以简写,如下所示:

在这里插入图片描述

  • 直接使用 numpy[行号] 即可。
2.获取矩阵的列

在这里插入图片描述

  • 想把一维数组再变回二维就用reshape((行,列))==------------------记得有两对括号
3.切片仅是视图,不创建新变量,仅在原数组处修改

在这里插入图片描述

4.numpy数组之间的赋值都是绑定------类似指针,都指向同一块内存空间,不产生新空间

在这里插入图片描述

5.数组的变形

1.矩阵的转置

在这里插入图片描述

  • 注意,.T只对矩阵即二维数组有用,所以一维数组需要先.reshape((行,列))升级为二维数组。

在这里插入图片描述

相关文章:

  • 深入理解 Spring 框架中的 AOP 技术
  • Python----计算机视觉处理(Opencv:图像轮廓特征查找:外接轮廓)
  • 华为HCIE方向那么多应该如何选择?
  • Linux的SPI子系统的原理和结构详解【SPI控制器(spi_master)、SPI总线(device-driver-match匹配机制)、SPI设备、SPI万能驱动`spidev.c`】
  • 前端性能优化方案总结
  • ARCGIS PRO SDK 创建右键菜单
  • 基于腾讯云HAI-CPU部署DeepSeek:搭建图书馆知识库,赋能智慧图书馆建设
  • 从技术架构和生态考虑,不是单纯的配置优化,还有哪些方式可以提高spark的计算性能
  • TCP 三次握手与四次挥手过程
  • Nordic Semiconductor 芯片(如 nRF52/nRF53 系列)的 VSCode 开发环境的步骤
  • 大型语言模型(LLM)推理框架的全面分析与选型指南(2025年版)
  • LLM之RAG实战(五十二)| 如何使用混合搜索优化RAG 检索
  • 鸿蒙进行视频上传,使用 request.uploadFile方法
  • 深入理解C#中的享元模式(Flyweight Pattern)
  • 感应电机反电动势频率与电源频率相等以及转差率的测量机制
  • 26考研——图_图的遍历(6)
  • 【C++】vector的push_back和emplace_back
  • 电动自行车/电动工具锂电池PCM方案--SH367003、SH367004、SH79F329
  • C# SerialPort 类中 Handshake 属性的作用
  • 基于springboot人脸识别的社区流调系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 黄育奇当选福建惠安县人民政府县长
  • 徐徕任上海浦东新区副区长,此前已任区委常委
  • 南部战区位南海海域进行例行巡航
  • “光荣之城”2025上海红色文化季启动,红色主题市集亮相
  • “即买即退”扩容提质,上海静安推出离境退税2.0版新政
  • 举牌超200轮!中铁建7.76亿元竞得北京通州梨园宅地