numpy是python中科学计算的核心库,提供了高效率的多为数组对象以及处理这些数组的工具。如果你熟悉MATLAB,那能很快用这份教程熟悉numpy。
Arrays
numpy中的数组是一组相同类型的数值,由非负整数元组进行索引。数组维度由array中的rank方法得到,而数组中的shape方法返回一个整数元组,给出的是数组每个维度的大小。
可以从已有的python列表(list)来初始化numpy数组,用方括号访问其中的每个元素。
numpy也有其他方式来创建数组
还有一些创建numpy数组的方式参见文档:
https://docs.scipy.org/doc/numpy/user/basics.creation.html#arrays-creation
Array indexing
numpy提供了集中访问数组的方式。
slicing
很多人将这个翻译为切片操作,我就不翻译了,直接用英文吧。类似python中对list的操作,numpy的数组也是类似的做slice,不同的是,对多维数组,每个维度都要有slice。
同时,也能混合整数索引访问和slice访问。但是注意,混合访问会比单独使用slice访问少一个数组维度,这是跟MATLAB不同的地方。
整数数组索引
如果使用slice来索引numpy数组,结果会是原数组的子数组。相反,整数数组索引可以用另外数组的数据来构建任意的数组。
一个使用技巧是使用整数数组索引来选择或者改变矩阵每行的元素。
bool值数组索引
允许你挑选数数组中的部分元素,经常用与选择满足某些条件的元素。
为了简单,省略了很多其他numpy数组的索引方式,能在下面文档中看到:
https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
领取专属 10元无门槛券
私享最新 技术干货