亲宝软件园·资讯

展开

Numpy中的repeat函数使用

PHD-XIAOBING 人气:0

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

加载全部内容

相关教程
猜你喜欢
用户评论