高级数组操作
import numpy as np
arr=np.arange(8)
arr=arr.reshape(4,-1)
print(arr)
-1表示该唯独的大小由数据本身推断出来
数组的扁平化:
print(arr.ravel())
如果传入F,则表明列优先,代码和运行结果如下所示:
print(arr.ravel('F'))
concatenate()可以按照指定的轴将一个由数组组成的序列连接到一起,例如
arr1=np.array([[1,2,3],[4,5,6]])
arr2=np.array([[7,8,9],[10,11,12]])
print(np.concatenate([arr1,arr2],axis=0))
注意一点:函数里面需要将两个带链接的数组用【】括起来
两种简单的方法:
print(np.r_[arr1,arr2])
print(np.c_[arr1,arr2])
r_表示纵向堆叠
c_表示横向堆叠
运行结果为:
元素的重复操作
元素重复用repeat,在该 操作中,如果传入一个数组,则表示数组中的每个元素都重复 指定次数
上代码:
print(arr.repeat([2,3,2,1],axis=0))
运行结果为:
如果多维数组,需要传入axis变量,如果没有传进去,可能会造成扁平化
如果想要和铺地砖一样重复,可以用tile,即重复数组的副本,
print(np.tile(arr,[1,2]))
表示,纵向重复1次,横向重复2次