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

Numpy科学计算与数据分析:Numpy数组创建与应用入门

Numpy数组创建实战

学习目标

通过本课程的学习,学员将掌握使用Numpy库创建不同类型的数组的方法,包括一维数组、多维数组、全零数组、全一阵列、空数组等。本课程将通过理论讲解与实践操作相结合的方式,帮助学员深入理解Numpy数组的创建过程及其应用场景。

相关知识点

Numpy数组应用

学习内容

1 Numpy数组应用

1.1 Numpy数组的基本概念

Numpy是Python中用于处理数组的一个库,它提供了大量的函数用于数组的创建、操作和数学运算。Numpy数组(ndarray)是Numpy的核心对象,它是一个固定类型的多维数组,其中所有元素必须是相同类型,通常为数字。Numpy数组相比于Python内置的列表,具有更高的效率和更多的功能。

Numpy数组的创建可以通过多种方式实现,包括从Python列表转换、使用特定的函数创建等。Numpy数组支持多种数据类型,如整型、浮点型、复数型等,这些数据类型在创建数组时可以通过dtype参数指定。

1.1.1 Numpy数组的属性

Numpy数组有几个重要的属性,这些属性可以帮助人们更好地理解和操作数组:

  • ndim:数组的维度数。
  • shape:一个表示数组形状的元组,对于二维数组,shape将返回一个包含行数和列数的元组。
  • size:数组中元素的总数。
  • dtype:数组中元素的数据类型。
  • itemsize:数组中每个元素的字节大小。
  • data:包含实际数组元素的缓冲区。
1.1.2 创建Numpy数组

创建Numpy数组最简单的方法是从Python列表转换而来。例如,创建一个一维数组:

import numpy as np# 从Python列表创建一维数组
arr = np.array([1, 2, 3, 4, 5])
print(arr)
print(type(arr))

输出:

[1 2 3 4 5]
<class 'numpy.ndarray'>
1.2 使用Numpy创建一维和多维数组

Numpy提供了多种方法来创建一维和多维数组,这些方法可以根据不同的需求灵活使用。

1.2.1 创建一维数组

一维数组是最简单的Numpy数组形式,可以通过从Python列表转换或使用np.arange函数创建。

import numpy as np
# 从Python列表创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print("从列表创建的一维数组:", arr1)# 使用np.arange创建一维数组
arr2 = np.arange(1, 6)
print("使用np.arange创建的一维数组:", arr2)
1.2.2 创建多维数组

多维数组可以通过嵌套的Python列表或使用np.array函数直接创建。Numpy还提供了np.zeros、np.ones等函数来创建特定形状的多维数组。

import numpy as np
# 从嵌套列表创建二维数组
arr3 = np.array([[1, 2, 3], [4, 5, 6]])
print("从嵌套列表创建的二维数组:\n", arr3)# 使用np.zeros创建全零二维数组
arr4 = np.zeros((3, 4))
print("使用np.zeros创建的全零二维数组:\n", arr4)# 使用np.ones创建全一二维数组
arr5 = np.ones((2, 3))
print("使用np.ones创建的全一二维数组:\n", arr5)
1.3 创建特殊类型的数组

Numpy还提供了一些特殊的函数来创建特定类型的数组,这些数组在实际应用中非常有用。

1.3.1 创建全零数组

全零数组在初始化变量或作为占位符时非常有用。可以使用np.zeros函数创建全零数组。

import numpy as np
# 创建全零一维数组
zero_arr1 = np.zeros(5)
print("全零一维数组:", zero_arr1)# 创建全零二维数组
zero_arr2 = np.zeros((3, 4))
print("全零二维数组:\n", zero_arr2)
1.3.2 创建全一阵列

全一阵列在初始化变量或作为占位符时也非常有用。可以使用np.ones函数创建全一阵列。

import numpy as np
# 创建全一一维数组
one_arr1 = np.ones(5)
print("全一一维数组:", one_arr1)# 创建全一二维数组
one_arr2 = np.ones((3, 4))
print("全一二维数组:\n", one_arr2)
1.3.3 创建空数组

空数组在某些情况下用于初始化化,但不分配具体的值。可以使用numpy.empty()函数创建空数组。numpy.empty()的“空”主要体现在它只是简单地在内存中分配了一块空间来存储指定形状的数组,而不对这块内存中的数据进行初始化,所以数组中的值都是随机的(实际上是内存中原有的值)。

这里创建的数组可能出现值全是1的情况,因为在使用numpy.empty()之前,使用了np.ones()函数创建数组,导致分配给numpy.empty()的内存区域中残留的值恰好都是1。这种情况是由于内存的分配和释放机制造成的,并不代表numpy.empty()创建的数组值总是全为1。实际上,numpy.empty()创建的数组中的值是未定义的,取决于内存的初始状态,可能为任意值。

import numpy as np
# 创建空一维数组
empty_arr1 = np.empty(5)
print("空一维数组:", empty_arr1)# 创建空二维数组
empty_arr2 = np.empty((3, 4))
print("空二维数组:\n", empty_arr2)

如果想看到更类似随机的值,可以重启内核后直接运行创建空数组的代码块,或者更改所创建数组的形状(如np.empty(2)、np.empty(8)、np.empty((4, 4))等),这样可能会改变使用的内存空间从而看到不一样的值。

通过本课程的学习,我们已经掌握了使用Numpy创建不同类型的数组的方法。这些知识将为后续的数组操作和数学运算打下坚实的基础。希望学员在实际应用中能够灵活运用这些技能,提高编程效率。

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

相关文章:

  • DevOps简单教程应用
  • ⭐CVPR2025 RoboBrain:机器人操作的统一大脑模型[特殊字符]
  • Redis(八):Redis高并发高可用(哨兵Sentinel)
  • 上海一家机器人IPO核心零部件依赖外购, 募投计划频繁修改引疑
  • QDataStream入门
  • Redis实战(8) -- 分布式锁Redission底层机制
  • 如何解决用阿里云效流水线持续集成部署Nuxt静态应用时流程卡住,进行不下去的问题
  • 基于 MATLAB 的 QPSK 调制、解调、通过高斯信道的误码率计算,并绘制误码率图和眼图、星座图
  • 火山引擎接入豆包AI(纯前端调用api的方式)
  • Java 大视界 -- Java 大数据在智能教育在线课程互动优化与学习体验提升中的应用(386)
  • E频段芯片解决方案
  • npm 与 npx 区别详解。以及mcp中npx加载原理。
  • 2025年生成式大模型部署与推理优化全景解析
  • 14天搞定Excel公式:告别加班,效率翻倍!
  • 【YOLOv8改进 - 上采样】EUCB:(Efficient Up-convolution Block,高效上卷积块)实现特征图尺度匹配和高效上采样
  • 网络编程基石:域名系统与默认端口号详解
  • 文章采集发布Destoon网站技巧
  • C语言函数与预编译:模块化编程的精髓
  • 【AI论文】细胞锻造(CellForge):虚拟细胞模型的智能体化设计
  • 上岸AAAI 2025:自适应框架+前沿算法,顶会热点方向
  • 【VLLM篇】:原理-实现
  • 【论文阅读】基于元模型的体系知识图谱构建
  • spring boot学习计划
  • 什么是AI Agents
  • 机器学习算法篇(四)决策树算法
  • XCZU19EG-2FFVB1517I FPGA Xilinx AMD ZynqUltraScale+ MPSoC
  • 如何验证Go代理是否设置成功?
  • 深入探索C++模板实现的单例模式:通用与线程安全的完美结合
  • SpringBoot的优缺点
  • MyBatis 操作数据库