数组基础
NumPy 是 Python 中进行数值计算的基础包,提供功能强大的数组对象以及一整套用于高效处理这些数组的函数。NumPy 的优势包括:
• 多维性: 不仅支持一维数组。
• 强大的运算: 内置大量数学与统计函数库。
• 向量化: 允许在无需显式循环的情况下对整个数组执行操作,从而提升性能。
• 良好集成: 与 SciPy、Pandas、Matplotlib 等科学计算库无缝协作。
让我们开始使用 Numpy 创建一个数组。首先导入 NumPy,然后使用 array() 函数创建数组。array() 函数以列表作为输入。
my_array 的类型是 numpy.ndarray。
数组示例
创建数组的示例
在下面的示例中,您将使用 NumPy 的 array() 函数将列表转换为数组。您将创建一个由整数构成的列表 a_list,然后使用 array() 函数将其转换为数组。
数组运算示例
在下面的示例中,您将相加两个 numpy 数组。结果是对两个数组逐元素求和。
数组索引示例
您可以使用索引表示法选择数组中的特定索引元素。
您也可以使用切片表示法,指定一段索引来切片获取一系列元素。
将列表转换为数组的交互式示例
在下面的示例中,您将使用别名 np 导入 numpy。分别从列表 prices 和 earnings 创建数组 prices_array 和 earnings_array。最后,打印这两个数组。
import numpy as np
# Lists
prices = [170.12, 93.29, 55.28, 145.30, 171.81, 59.50, 100.50]
earnings = [9.2, 5.31, 2.41, 5.91, 15.42, 2.51, 6.79]
# NumPy arrays
prices_array = np.array(prices)
earnings_array = np.array(earnings)
# Print the arrays
print(prices_array)
print(earnings_array)
# Expected output:
# [170.12 93.29 55.28 145.3 171.81 59.5 100.5 ]
# [ 9.2 5.31 2.41 5.91 15.42 2.51 6.79]想要进一步了解 Python 中的 NumPy 数组,请观看我们课程 金融中的 Python 入门 中的这一段视频。
以上内容选自 DataCamp 由 Adina Howe 授课的 金融中的 Python 入门 课程。
查看我们的 Python Numpy 数组教程。
常见问题
Python 的 array 模块与 NumPy 数组的主要区别是什么?
主要区别在于功能与使用场景。Python 的 array 模块提供用于创建紧凑、类型受限数组的基础功能,类似于 C 等语言中的数组。另一方面,NumPy 数组提供高级特性,如对多维数组的支持、海量数学函数库,以及通过向量化实现的性能优化。对于数值与科学计算,通常更推荐使用 NumPy。
我可以用 Python 的 array 模块存放字符串或对象类型吗?
不可以,array 模块仅用于存放诸如整数、浮点数等基础数据类型,不支持字符串或对象。对于这些类型的集合,更适合使用 Python 的列表,或元组、字典等其他数据结构。
为何在处理数值数据时应优先使用 NumPy 数组而不是 Python 列表?
NumPy 数组专为数值计算而优化。它们在存储与处理方面更高效,尤其适用于大型数据集。向量化等特性允许对整个数组进行操作而无需显式循环,大幅提升性能并改善代码可读性。
数组是许多编程语言中的基础数据结构,用于在一块连续的内存中存储同一类型元素的集合——也就是说,所有元素按顺序紧密存放,没有间隔。此结构便于高效地访问和操作所存储的元素。
与 C 或 Java 等语言不同,Python 并没有传统意义上的内置数组数据类型。取而代之的是,Python 提供了多种可实现数组功能的替代方案,分别适用于不同的编程需求与场景。
Python 的标准库包含一个 array 模块,它可创建紧凑、类型受限的数组,类似于更静态类型语言中的数组。
然而,在数值和科学计算中,NumPy 库及其 ndarray(n 维数组)已成为 Python 的事实标准。与 Python 标准库提供的基本数组结构相比,NumPy 数组的功能更加广泛。