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

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

您可能感兴趣的文章:

  • numpy中的log和ln函数解读
  • Python numpy下几种fft函数的使用方式
  • 实例详解Python中的numpy.abs和abs函数
  • 关于Python下的Matlab函数对应关系(Numpy)
  • numpy中hstack vstack stack concatenate函数示例详解