NumPy的介绍
NumPy是科学计算的标准,让Python支持灵活多维的数组,让数学计算快速而简明
- NumPy是使用Python进行科学计算的基础包
- 一个强大的N维数组对象
- 复杂的(广播)功能
- 用于集成C / C ++和Fortran代码的工具
- 有用的线性代数,傅里叶变换和随机数功能
- 除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使NumPy能够无缝快速地与各种数据库集成。
import time
import numpy as np
start = time.time()
# 使用Python自带的 sum 函数和numPy的sum函数计算,运行时间上有很大的差别
# print(sum(range(0, 1000000)))
print(np.sum(np.arange(0, 1000000)))
end = time.time()
print(end - start)
ndarray
- NumPy 最重要的一个特点是它的 N 维数组对象 ndarray(N dimension array),它是一系列数据(通常都是同一类型的数据)的集合。
- ndarray里每一个维度称为一个轴。例如,
[1,2,3]
只有一个维度,也就只有一个轴,它有三个元素,我们可以称它的轴长是3;[[4,5,7,10],[11,12,34,55]]
有两个维度,也就有两个轴,第一个轴长为2,第二个轴长为4. -
ndarray的shape属性,它是一个元祖类型的数据,用来表示数组有几个轴,以及每个轴的轴长。
-
NumPy里提供了多种方式用来创建一个ndarray对象。参考创建ndarray对象
- ndarray的常见属性:
import numpy as np
na = np.array([ # 调用 numPy的array方法,可以创建一个 ndarray对象
[[9, 4, 2],
[3, 5, 8],
[2, 2, 0],
[7, 6, 1]],
[[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
[7, 4, 2]],
])
print(na.ndim) # 3 数组的维度
print(na.size) # 24 数组里元素的个数
print(na.dtype) # int32 数组里元素的类型
print(na.shape) # (2, 4, 3) 说明这是一个三维数组,第一个轴长是2,第二个轴长是4,第三个轴长是3
print(na.itemsize) # 4 数组里元素的字节数
dir(na)