NumPy数组入门:Python列表的更好替代
发布: (2026年4月3日 GMT+8 18:02)
2 分钟阅读
原文: Dev.to
Source: Dev.to
引言
NumPy 是一个极受欢迎的 Python 包。它最好的特性之一是 NumPy 数组(官方名称为 ndarray)。你可以把它看作是标准 Python 列表的更简洁、速度更快的版本。
虽然 NumPy 数组看起来像 Python 列表,但它们提供了一个显著的优势:可以一次性对整个数组执行数学运算。这些运算编写简单,执行效率极高。
示例
# Regular Python lists
heights = [2.40, 3.21, 1.34, 3.45]
weights = [45.0, 68.3, 34.1, 82.0]
# Attempting element‑wise math with lists raises an error
bmi = weights / (heights ** 2)错误
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'Python 列表不支持逐元素的数学运算。若要使用普通列表实现相同的结果,需要对每个元素单独循环,这在处理大数据时既慢又低效。
NumPy 通过将列表转换为 NumPy 数组,使我们能够高效地执行这些计算:
import numpy as np
np_height = np.array(heights)
np_weight = np.array(weights)
bmi = np_weight / np_height ** 2
bmi代码成功运行,并返回一个包含每对对应值的 BMI 的新数组:
array([ 7.8125 , 6.62842946, 18.99086656, 6.88930897])重要提示
np.array([1.0, 'is', True])输出
array(['1.0', 'is', 'True'], dtype='<U32')总之,NumPy 让你可以一次性对整个数组进行数学运算,使计算既快速又高效。