Numpy:np.tile函数
np.arange()函数
np.arange()函数返回的是一个有终点和起点的固定步长的排列,其中np.arange()函数有三种情况:
1、当只有一个参数的时候,参数值为终点,起点默认为0,步长默认为1。
a = np.arange(4)
输出:[0 1 2 3]
2、当有两个参数的时候,第一个参数为起点,第二个参数为终点,步长默认为1。
a = np.arange(1,5)
输出:[1 2 3 4]
3、当有三个参数的时候,第一个参数为起点,第二个参数为终点,第三个参数为步长,步长可以为小数。
a = np.arange(2,13,3)
输出:[2 5 8 11]
np.tile()函数
tile函数位于python模块 numpy.lib.shape_base中,主要的功能是重复某个数组。
from numpy import *
a = [3,1,6]
b = tile(a,2)
print(b)
其中a代表将要被复制的数组。b代表通过a数组复制以后的数组,其中的数3代表把a复制三次。最后得出的结果如下:
[3 1 6 3 1 6 3 1 6]
from numpy import *
c = [2,5,8]
d = tile(a,(3,4))
print(b)
其中c代表将要被复制的数组。d代表通过c数组复制以后的数组,其中的数(3,4)代表复制的结果为三行四列的a数组。最后得出的结果如下:
[[2 5 8 2 5 8 2 5 8 2 5 8]
[2 5 8 2 5 8 2 5 8 2 5 8]
[2 5 8 2 5 8 2 5 8 2 5 8]]
有了上面的,我们就可以来看下面的例子了:
import numpy as np
a = np.tile(np.arange(0,25,5),(2,1))
print(a)
输出的结果为:
[[ 0 5 10 15 20]
[ 0 5 10 15 20]]
对它取转置:
import numpy as np
b = np.tile(np.arange(0,25,5),(2,1)).T
print(b)
输出结果为:
[[ 0 0]
[ 5 5]
[10 10]
[15 15]
[20 20]]
也可以把转置后的与另外一个数组进行相加:
import numpy as np
c = np.tile(np.arange(0,25,5),(2,1)).T+ np.tile(np.arange(1,3),(5,1))
print(c)
也就是加上数组:
[[ 1 2]
[ 1 2]
[ 1 2]
[ 1 2]
[ 1 2]]
输出的结果为:
[[ 1 2]
[ 6 7]
[11 12]
[16 17]
[21 22]]