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 数组的创建方法。

相关推荐
Gofarlic_oms14 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
AI+程序员在路上5 小时前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
invicinble5 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin5 小时前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy5 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
郑州光合科技余经理7 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
南子北游8 小时前
Python学习(基础语法1)
开发语言·python·学习
张健11564096488 小时前
使用信号量限制并发数量
开发语言·c++
糯米团子7498 小时前
Web Worker
开发语言·前端·javascript