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 让你可以一次性对整个数组进行数学运算,使计算既快速又高效。

0 浏览
Back to Blog

相关文章

阅读更多 »