区别
1、numpy可以直接对整个ndarray操作,py需要遍历
numpy:
arr * arr arr + arr
py:
[x*x for x in arr] [x + x for x in arr]
2、numpy可以用[ 1,2 ] 这种索引方式 可以选择出[1:, 2:]的数组,注意[1:][2:]和[1:, 2:]的区别,[1:][2:]是先进行左边筛选后再进行右边
3、numpy用花式索引无法选出行列子集(行列都需对应,花式索引选出是一维的,一一对应),如果需要选出行列子集,需采用下面,注意[1:3,[0, 3, -1]]可以使用花式索引
arr[[1, 5, 7, 2]][:, [0, 3, 1, 2]]
array([[ 4, 7, 5, 6],
[20, 23, 21, 22],
[28, 31, 29, 30],
[ 8, 11, 9, 10]])
注意:花式索引跟切片不一样,它总是将数据复制到新数组中。