Numpy中的repeat函数使用

Numpy中repeat函数使用

Numpy是Python强大的数学计算库,和Scipy一起构建起Python科学计算生态。在本节下面我们重点介绍下repeat函数的用法,我们在Python中import numpy,help(numpy.repeat),会出现以下界面:

Numpy中的repeat函数使用_第1张图片

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])将会报错!!

Numpy中的repeat函数使用_第2张图片

repeat的一个实例:

Numpy中的repeat函数使用_第3张图片

运行结果:

Numpy中的repeat函数使用_第4张图片

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]]

到此这篇关于Numpy中的repeat函数使用的文章就介绍到这了,更多相关Numpy repeat函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Numpy中的repeat函数使用)