import numpy as np #数组形状处理:reshape 、 resize 、ravel 、flatten、 vstack、 hstack、 row_stack 、colum_stack arr3 = np.array(((1,2,5,9),(6,8,25,4),(26,52,71,2),(5,8,2,3))) print("数组是几行几列的:",arr3.shape) #获取数组行列数(也就是几行几列) # print(arr3.reshape(2,8)," ") #返回数组行列变换之后的数组,并未改变原数组的形状 # print(arr3.resize(4,4)) #不会返回变换之后预览值,而是直接改变原数组的形状 # print(arr3.shape) #print("原数组输出",arr3,' ')
数据降维
#数据降维 #默认的排序方式的降维,降维以行顺序拼接成一维数组 #print(arr3.ravel()) # print(arr3.flatten()) # print(arr3.reshape(-1),' ') #改变排序模式的降维,降维以列顺序拼接成一维数组 # print(arr3.ravel(order='F')) #print(arr3.flatten(order='F')) # print(arr3.reshape(-1,order='F')) # print(arr3)#可知数组降维之后并不会改变原数组 #对数组降维之后,考察是否会改变原数组 arr3.flatten()[0] = 200 arr3.ravel()[0] = 200 #ravel方法(会改变原数组) arr3.reshape(-1)[0] = 300 #reshape方法替换值(会改变原数组) #print("flatten方法(并不会改变原数组): ",arr3) #print("ravel方法(会改变原数组): ",arr3) #print("reshape方法(会改变原数组): ",arr3) arr4 = np.array([12,13,14,45])#该被添加上去的一维数组元素个数与原数组的列数相等# #print("vstack纵向堆叠数组: ",np.vstack([arr3,arr4])) print("row_stack纵向堆叠数组: ",np.row_stack([arr3,arr4])) arr5 = np.array([[21],[22],[24],[25]])#该被添加上去的一维数组的个数与原数组的行数相等 #print("hstack横向堆叠数组: ",np.hstack([arr3,arr5])) print("column_stack横向堆叠数组: ",np.column_stack([arr3,arr5]))