笔记可能仅仅适用于作者自己
4.1 NumPy的ndarray:一种多维数组对象
(1)创建ndarray
创建数组最简单的办法就是使用array函数。它接受一切序列型的对象(包括其他数组),然后产生一个新的含有传入数据的NumPy数组。以一个列表的转换为例:
In [19]: data1 = [6, 7.5, 8, 0, 1]
In [20]: arr1 = np.array(data1)
In [21]: arr1
Out[21]: array([ 6. , 7.5, 8. , 0. , 1. ])
(2)numpy的创建函数:
重要函数
arange:numpy中内置range,但是返回的是一个ndarray,而不是列表
empty:创建新数组,只分配空间,不分配值
asarray:将输入转换为ndarray,
eye,identity:创建正方的NxN单位矩阵。
(3)基本的索引和切片
二维数组索引方式:轴0为行,轴1为列
二维数组中索引是一维数组
In [72]: arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
In [73]: arr2d[2]
Out[73]: array([7, 8, 9])
In [74]: arr2d[0][2]
Out[74]: 3
In [75]: arr2d[0, 2]
Out[75]: 3
多为数组2x2x3数组中:arr3d:索引是一个2×3数组
In [76]: arr3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
In [77]: arr3d
Out[77]:
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])
arr3d[0]是一个2×3数组:
In [78]: arr3d[0]
Out[78]:
array([[1, 2, 3],
[4, 5, 6]])
切片索引:arr2d[:2]可以被认为是“选取arr2d的前两行”。
In [90]: arr2d
Out[90]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
In [91]: arr2d[:2]
Out[91]:
array([[1, 2, 3],
[4, 5, 6]])
一次传入多个切片:前两行,后两列。
In [92]: arr2d[:2, 1:]
Out[92]:
array([[2, 3],
[5, 6]])
4.2 通用函数:快速的元素级数组函数
4.3 利用数组进行数据处理
4.5 线性代数
4.6 伪随机数生成