Numpy中的repeat函数使用
PHD-XIAOBING 人气:0Numpy中repeat函数使用
Numpy是Python强大的数学计算库,和Scipy一起构建起Python科学计算生态。在本节下面我们重点介绍下repeat函数的用法,我们在Python中import numpy,help(numpy.repeat),会出现以下界面:
repeat是属于ndarray对象的方法,使用它可以通过两个管道:
(1)numpy.repeat(a,repeats,axis=None); (2)object(ndarray).repeat(repeats,axis=None):理解了第一种方法就可以轻松知道第二种方法了。
参数的意义:axis=None,时候就会flatten当前矩阵,实际上就是变成了一个行向量
axis=0,沿着y轴复制,实际上增加了行数
axis=1,沿着x轴复制,实际上增加列数
repeats可以为一个数,也可以为一个矩阵,具体区别我们从以下实例中就会发现
以下各个实例都是使用了矩阵c:
实例1:
axis=0情况下可以看出讲数据安装在磁盘存储格式(先行后列)逐个元素复制repeats次,形成一个行向量
实例2:
实例3:
实例4:
这时候它的意思是复制第一行元素repeats[0]次依次类推.假如repeat矩阵length(repeats)!=length(c[:,:1])将会报错!!
repeat的一个实例:
运行结果:
python中repeat函数用法
repeat()函数用法:
np.repeat(3, 4) array([3, 3, 3, 3]) x = np.array([[1,2],[3,4]]) np.repeat(x, 2) array([1, 1, 2, 2, 3, 3, 4, 4]) np.repeat(x, 3, axis=1) #沿着纵轴方向重复,增加列数 array([[1, 1, 1, 2, 2, 2], [3, 3, 3, 4, 4, 4]]) np.repeat(x, [1, 2], axis=0) #沿着横轴方向重复,增加行数,分别为一次和两次 array([[1, 2], [3, 4], [3, 4]])
repeat函数
np.repeat用于将numpy数组重复
一维数组重复三次
import numpy as np # 随机生成[0,5)之间的数,形状为(1,4),将此数组重复3次 pop = np.random.randint(0, 5, size=(1, 4)).repeat(3, axis=0) print("pop\n",pop) # pop # [[0 0 3 1] # [0 0 3 1] # [0 0 3 1]]
二维数组在第一维和第二维分别重复三次
pop_reshape=pop.reshape(2,6) pop_reshape_repeataxis0=pop_reshape.repeat(3,axis=0) pop_reshape_repeataxis1=pop_reshape.repeat(3,axis=1) print("pop_reshape\n",pop_reshape) print("pop_reshape_repeataxis0\n",pop_reshape_repeataxis0) print("pop_reshape_repeataxis1\n",pop_reshape_repeataxis1) # pop_reshape # [[0 0 3 1 0 0] # [3 1 0 0 3 1]] # pop_reshape_repeataxis0 # [[0 0 3 1 0 0] # [0 0 3 1 0 0] # [0 0 3 1 0 0] # [3 1 0 0 3 1] # [3 1 0 0 3 1] # [3 1 0 0 3 1]] # pop_reshape_repeataxis1 # [[0 0 0 0 0 0 3 3 3 1 1 1 0 0 0 0 0 0] # [3 3 3 1 1 1 0 0 0 0 0 0 3 3 3 1 1 1]]
加载全部内容