创建一个数组:
arr = np.arange(16) 生成一个一维数组
print('arr:',arr)
print('类型:',type(arr))
print('形状:',arr.shape)
可以通过shape和reshape求更改他的形状,不同的是reshape生成一个新的数组,二shape是在原来数组的基础上进行更改。
举例说明:
直接更改 通过shape直接指定形状。—元组
arr.shape = (4,4)
print(arr
)
reshape更改,返回新的数组
arr_new = arr.reshape(4,4)
print(arr_new)
print('类型:',type(arr_new))
print('形状:',arr_new.shape)
展开一个高纬度的数组,利用的方式有:reval或者flatten
举例:
#创建一个高纬度数组
arr = np.arange(16).reshape(4 ,4)
print(arr)
print("arr shape" ,arr.shape)#打印出形状。
ravel展平数组
# arr_new = np.ravel(arr)
# arr_new = arr.ravel()
# print(arr_new)
通过flatten展开数组
参数:默认参数是c 是按行展开。f参数是按列展开
arr_new1 = arr.flatten('c')
print(arr_new1)
arr_new = arr.flatten('f')
print(arr_new)
import numpy as np
# 创建数组
arr1 = np.arange(6).reshape(2,3)
arr2 = np.array([[1,2,3],[2,3,4]])
print(arr1)
print(arr2)
横向拼接数组:
可以通过hstack直接横向凭借,也可以利用concatenate将参数设为1拼接
# arr_new = np.hstack((arr1,arr2))
# arr_new = np.concatenate((arr1,arr2),axis=1)
# print(arr_new)
# print(arr_new)
# 纵向拼接
可以通过vstack直接纵向向凭借,也可以利用concatenate将参数设0为拼接
# arr_new = np.vstack((arr1,arr2))
# arr_new = np.concatenate((arr1,arr2),axis=0)
# print(arr_new)
# print(arr_new)
concatenate 参数axis为1,代表列,横轴方向
concatenate 参数axis为0 代表行,纵轴方向。
拼接的过程中,维度需一致 # 如果是横向拼接,必须保持行一致,
如果是纵向拼接,必须保持列数一致
import numpy as np
arr = np.arange(16).reshape(4,4)
print('arr:' ,arr)
# 横向拆分 平分
# arr1,arr2 = np.hsplit(arr,2)
# arr_new = np.split(arr,4,axis=1)
# print(arr_new)
# print('arr1',arr1)
# print('arr2'arr2)
# 纵向拆分 平分
# arr1,arr2 = np.vsplit(arr,2)
# arr_new = np.split(arr,4,axis=0)
# print(arr_new)
# print('arr1',arr1)
# print('arr2',arr2)