NumPy 创建数组

NumPy 创建数组

引言

NumPy 是 Python 中一个强大的数学库,它提供了广泛的多维数组对象和数学函数。在数据分析、科学计算和机器学习等领域,NumPy 都有着广泛的应用。本文将详细介绍 NumPy 数组的创建方法,帮助读者快速掌握这一基础技能。

数组创建方法

1. 使用 numpy.array() 函数

numpy.array() 是 NumPy 中最常用的创建数组的方法。它可以将一个列表、元组或任何可迭代对象转换为 NumPy 数组。

python 复制代码
import numpy as np

# 创建一个一维数组
array1 = np.array([1, 2, 3, 4, 5])

# 创建一个二维数组
array2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

2. 使用 numpy.arange() 函数

numpy.arange() 可以创建一个指定起始值、结束值和步长的数组。

python 复制代码
# 创建一个等差数列数组
array3 = np.arange(1, 10, 2)

3. 使用 numpy.linspace() 函数

numpy.linspace() 可以创建一个指定起始值、结束值、样本数和样本间隔的数组。

python 复制代码
# 创建一个线性空间数组
array4 = np.linspace(0, 1, 5)

4. 使用 numpy.zeros()numpy.ones() 函数

numpy.zeros()numpy.ones() 分别用于创建全零数组和全一数组。

python 复制代码
# 创建一个全零数组
array5 = np.zeros((3, 3))

# 创建一个全一数组
array6 = np.ones((3, 3))

5. 使用 numpy.full() 函数

numpy.full() 可以创建一个指定形状、数据类型和填充值的数组。

python 复制代码
# 创建一个填充值为 5 的数组
array7 = np.full((3, 3), 5)

6. 使用 numpy.eye() 函数

numpy.eye() 可以创建一个单位矩阵。

python 复制代码
# 创建一个 3x3 的单位矩阵
array8 = np.eye(3)

数组形状和类型

在创建数组时,可以指定数组的形状和类型。形状表示数组的维度,类型表示数组中元素的数据类型。

python 复制代码
# 创建一个形状为 (2, 3) 的浮点型数组
array9 = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]], dtype=float)

总结

本文介绍了 NumPy 数组的创建方法,包括使用 numpy.array()numpy.arange()numpy.linspace()numpy.zeros()numpy.ones()numpy.full()numpy.eye() 等函数。通过掌握这些方法,读者可以轻松地创建各种类型的 NumPy 数组,为后续的数据处理和分析奠定基础。

代码示例

以下是本文中提到的数组创建方法的代码示例:

python 复制代码
import numpy as np

# 创建一个一维数组
array1 = np.array([1, 2, 3, 4, 5])

# 创建一个二维数组
array2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 创建一个等差数列数组
array3 = np.arange(1, 10, 2)

# 创建一个线性空间数组
array4 = np.linspace(0, 1, 5)

# 创建一个全零数组
array5 = np.zeros((3, 3))

# 创建一个全一数组
array6 = np.ones((3, 3))

# 创建一个填充值为 5 的数组
array7 = np.full((3, 3), 5)

# 创建一个 3x3 的单位矩阵
array8 = np.eye(3)

# 创建一个形状为 (2, 3) 的浮点型数组
array9 = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]], dtype=float)

通过以上代码示例,读者可以更好地理解 NumPy 数组的创建方法。

相关推荐
QJtDK1R5a14 分钟前
C# 14 中的新增功能
开发语言·c#
大黄说说17 分钟前
Java 中 String 为何被设计为不可变?
开发语言
复园电子22 分钟前
KVM与Hyper-V虚拟化环境:彻底解决USB外设映射掉线的底层架构优化
开发语言·架构·php
kvo7f2JTy38 分钟前
JAVA 设计模式
java·开发语言·设计模式
仍然.40 分钟前
多线程---阻塞队列收尾和线程池
java·开发语言·算法
大尚来也1 小时前
红黑树与AVL树:平衡二叉搜索树的博弈与抉择
开发语言
今天又是充满希望的一天1 小时前
C++分布式系统知识
开发语言·c++
zth4130211 小时前
SegmentSplay‘s Super STL(v2.2)
开发语言·c++·算法
沐知全栈开发2 小时前
《jEasyUI 格式化列》
开发语言
0xDevNull2 小时前
JDK 25 新特性概览与实战教程
java·开发语言·后端