Python Numpy运用
二、Python Numpy运用
1. 数组创建
-
arr1 = np.array([-9,7,4,3]) #数组
-
np.arange(0,10,1)
-
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
-
np.linspace(1,10,11) #创建等差数列
-
np.linspace(1,10,10,endpoint=False) #endpoint:去掉最后一个
-
np.logspace(1,5,base=2,num=10) #logspace:创建等比数列
-
np.zeros([4,5]) #0数组
-
np.ones([4,5]) #1数组
-
np.eye(6) #对角线矩阵
-
np.diag([4,5,8]) #对角线矩阵
2. 数组属性
- arr3.shape #几行几列
- arr3.ndim #数组-纬度
- arr3.size #数组-总元素数
- arr3.dtype #数组-数据类型
3. 索引和切片
-
arr_change = arr.copy() #赋值,原数据不会发生改变
-
arr2[~(arr2 > 3.5)] #“~”取相反
-
arr2[[2,1]] #索引第三行和第二行
-
arr2[np.ix_([0,-1],[0,1,3])] #第一行和最后一行,第一、二、四列
4. 数组形状改变
- arr.reshape(10,2) #返回视图,不会改变原数组的形状
- arr.resize(10,2) #改变原数组的形状
- arr.ravel() #数组按照横向降到一维
- arr.ravel(order = ‘F’) #数组按照纵向降到一维
- arr.flatten() #数组按照横向降到一维
- arr.flatten(order = ‘F’) #数组按照纵向降到一维
- arr_t[np.newaxis,:]
- np.hstack([arr1,arr2]) #横向合并数组
- np.vstack((arr1,arr3)) #纵向合并数组
- np.concatenate((arr1,arr2),axis=1) #横向合并数组
- np.concatenate((arr1,arr3),axis=0) #纵向合并数组
- np.tile(arr4,(4,4)) #复制行列
- arr5 = np.arange(8).reshape(2,2,2) #三维数组