目录:
1.np.range()函数
#一个参数 默认起点0,步长为1 输出:[0 1 2]
a = np.arange(3)
#两个参数 默认步长为1 输出[3 4 5 6 7 8]
a = np.arange(3,9)
#三个参数 起点为0,终点为4,步长为0.1 输出[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9]
a = np.arange(0, 3, 0.1)
2.np.transpose()函数
(1)对于一维数组:
>>> import numpy as np
>>> t=np.arange(4)
>>> t
array([0, 1, 2, 3])
>>> t.transpose()
array([0, 1, 2, 3])
>>>
可见对一维数组没有任何改变
(2)对于二维数组:
>>> arr=np.arange(16).reshape(4,4)
>>> arr
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
>>> arr.transpose()
array([[ 0, 4, 8, 12],
[ 1, 5, 9, 13],
[ 2, 6, 10, 14],
[ 3, 7, 11, 15]])
>>> arr.transpose(1,0)
array([[ 0, 4, 8, 12],
[ 1, 5, 9, 13],
[ 2, 6, 10, 14],
[ 3, 7, 11, 15]])
此时transepose()han函数相当于转置.T
(3)对于三维数组:
>>> arry=np.arange(24).reshape(2,3,4)
>>> arry
array([[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]])
>>> arry.transpose()
array([[[ 0 12]
[ 4 16]
[ 8 20]]
[[ 1 13]
[ 5 17]
[ 9 21]]
[[ 2 14]
[ 6 18]
[10 22]]
[[ 3 15]
[ 7 19]
[11 23]]])
可以看出来原来数组的大小为2×3×4,三轴的默认排序为(0,1,2),经过transpose后数组的大小为4×3×2,三轴的顺序变成了(2,1,0),也就是三维数组的情况下,transpose函数默认交换第一维度和第三维度。
此外transpose函数还可以任意变换三轴的顺序,例如
transpose(1,0,2),就是交换第二维度和第一维度。
3.np.meshgrid()函数
In [65]: xnums =np.arange(4)
In [66]: ynums =np.arange(5)
In [67]: xnums
Out[67]: array([0,1, 2, 3])
In [68]: ynums
Out[68]: array([0,1, 2, 3, 4])
In [69]: x, y= np.meshgrid(xnums,ynums)
In [74]: x
Out[74]:
array([[0, 1, 2,3],
[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3],
[0, 1, 2, 3]])
In [75]: y
Out[75]:
array([[0, 0, 0,0],
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3],
[4, 4, 4, 4]])
In [72]: x.shape
Out[72]: (5, 4)
In [73]: y.shape
Out[73]: (5, 4)
由上面的交互可以看出,meshgrid的作用是根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行,ydimesion行的向量;而第二个二维数组是以yarray的转置为列,xdimesion列的向量。
4.np.newaxis()函数
np.newaxis的作用就是在这一位置增加一个一维,这一位置指的是np.newaxis所在的位置。
x1 = np.array([1, 2, 3, 4, 5])
# the shape of x1 is (5,)
x1_new = x1[:, np.newaxis]
# now, the shape of x1_new is (5, 1)
# array([[1],
# [2],
# [3],
# [4],
# [5]])
x1_new = x1[np.newaxis,:]
# now, the shape of x1_new is (1, 5)
# array([[1, 2, 3, 4, 5]])
5.np.ones函数
生成全为1的数据。一定要记得生成的数组为2维时,要再加括号
print('\nnp.ones(4)生成的array=\n{}'.format(np.ones(4)))
print('\nnp.ones((4,),dtype=np.int)生成的array=\n{}'.format(np.ones((4,),dtype=np.int)))
print('\nnp.ones((2,1))生成的array=\n{}'.format(np.ones((2,1))))