本文是 Python 机器学习基础系列文章的第二篇——Numpy 篇。
Numpy
Numpy 是 Python 的一种开源数值计算扩展包,它可以用于存储和处理大型矩阵,比 Python 自带的嵌套列表结构要高效得多。
Numpy 数组(Numpy array)
数组(array)是 numpy 模块的一个主要类,可以表示向量(一维)、矩阵(二维)或高维数组,如声音、图像、视频等,并可以进行面向向量或矩阵的运算。
创建 array
用 array 构造函数创建一个 numpy 数组,可以是 1-D, 2-D, 3-D,…:
import numpy as np
a = np.array([0, 1, 2, 3])
print a.ndim, a.shape
b = np.array([[0, 1, 2], [3, 4, 5]])
print b.ndim, b.shape
c = np.array([[[1], [2]], [[3], [4]]])
print c.ndim, c.shape
其中 array() 函数的输入是一个 list 结构。
可以调用函数创建一些特殊的 array:
a = np.arange(10) # 序列数组
b = np.arange(1, 9, 2) # start, end (exclusive), step
c = np.linspace(0, 1, 6) # start, end, num-points
d = np.linspace(0, 1, 5, endpoint=False)
e = np.ones((3, 3)) # 用 tuple 作为输入
f = np.zeros((2, 2))
g = np.eye(3)
h = np.diag(np.array([1, 2, 3, 4]))
m = np.random.rand(4)
b = np.random.randn(4)
np.random.seed(1234) # 随机数种子
总结:创建 array 时,数据用 list 指定,维度用 tuple 指定。
基本数据类型
Numpy 中的基本数据类型包括:bool, int8~int64/int, uint8~uint64/uint, float16~float64/float, complex64, complex128/complex, S7(字符串)等。使用 a.dtype
可以查看数组的元素数据类型,在创建数组时指定 dtype
关键字可以指定数据类型。
a = np.array([1, 2