《NumPy快速入门》01 - Numpy数组 VS Python列表

144 阅读1分钟

NumPy是一个Python数据处理库。pandas, OpenCV等库都基于numpy。NumPy的核心概念是n维数组。

1. Numpy数组 VS Python列表

1.1 直接算术运算。

image.png

## 1维计算
a = [1,2,3]
[p**2 for p in a]

np.array([1,2,3]) ** 2

## 2维计算
a = [1,2,3]
b = [4,5,6]
[p * q for p,q in zip(a, b)]

np.array([1,2,3]) * np.array([4,5,6])

1.2 性能对比

  • 向量化后运算速度比列表更快
  • 在末尾添加元素时不如列表高效

image.png 其中,O(N)表示完成操作所需的时间与数组大小成正比(请见 Big-O Cheat Sheet),O(1)表示操作时间与数组大小无关(详见Time Complexity)。

【参考资料】