Numpy中repeat函数使用
Numpy是Python强大的数学计算库,和Scipy一起构建起Python科学计算生态。在本节下面我们重点介绍下repeat函数的用法,我们在Python中import numpy,help(numpy.repeat),会出现以下界面:
![]()
![](https://img-blog.csdn.net/20160124153411544?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
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:
![](https://img-blog.csdn.net/20160124153645094?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
实例1:
![](https://img-blog.csdn.net/20160124153846471?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
axis=0情况下可以看出讲数据安装在磁盘存储格式(先行后列)逐个元素复制repeats次,形成一个行向量
实例2:
![](https://img-blog.csdn.net/20160124154102574?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
实例3:
![]()
![](https://img-blog.csdn.net/20160124154007708?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
实例4:
![](https://img-blog.csdn.net/20160124154246180?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
这时候它的意思是复制第一行元素repeats[0]次依次类推.假如repeat矩阵length(repeats)!=length(c[:,:1])将会报错!!
![](https://img-blog.csdn.net/20160124154401964?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
repeat的一个实例:
![](https://img-blog.csdn.net/20160124154650873?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
运行结果:
![](https://img-blog.csdn.net/20160124154753515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()