其他方式创建ndarray对象

1.arange()函数
以指定步长累加产生指定范围有序元素的数组。
函数使用格式,arange([start,] stop[, step,], dtype=None)

import numpy as np
#1.arange()函数
h1 = np.arange(5)    #默认情况下 start=0,默认步长step为1
h1

array([0, 1, 2, 3, 4])

h2 = np.arange(0,5) #默认步长step为1
h2

array([0, 1, 2, 3, 4])

h3 = np.arange(0,5,0.5)    #指定步长为0.5
h3

array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])

2.在指定的范围内返回均匀步长的样本数组。这个样本数量由第三个参数确定。
函数使用格式,linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

#2.linspace()函数
i = np.linspace(0,1,2)   #产生2个等分的样本数,该函数遵循左闭右闭原则,注意区分
i

array([0., 1.])

i2 = np.linspace(0,100,101)  #产生100个等分的样本数
i2

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., 24., 25., 26., 27., 28., 29., 30., 31., 32.,
33., 34., 35., 36., 37., 38., 39., 40., 41., 42., 43.,
44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54.,
55., 56., 57., 58., 59., 60., 61., 62., 63., 64., 65.,
66., 67., 68., 69., 70., 71., 72., 73., 74., 75., 76.,
77., 78., 79., 80., 81., 82., 83., 84., 85., 86., 87.,
88., 89., 90., 91., 92., 93., 94., 95., 96., 97., 98.,
99., 100.])

3、zeros()函数
产生值为0的数组。
函数使用格式,zeros(shape, dtype=float, order=‘C’)

#3.zeros()函数
z1 = np.zeros(5)      #建立5个值为0的一维数组
z1

array([0., 0., 0., 0., 0.])

z2 = np.zeros((3,3))   #建立一个三行三列值为0的二维数组
z2

array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])

4、ones()函数
产生值为1的数组。
函数使用格式,ones(shape, dtype=None, order=‘C’)

#4 ones()函数
o1 = np.ones((2,3))  #建立一个两行三列值为1的二维数组
o1

array([[1., 1., 1.],
[1., 1., 1.]])

5、empty()函数
产生不指定值的数组,数组内的值不指定(根据内存情况随机产生值)。
函数使用格式,empty(shape, dtype=float, order=‘C’)

**#5 empty()函数
e = np.empty(5)    #建立5个不确定的一维数组
e**

array([0., 0., 0., 0., 0.])

e1 = np.empty((4,5)) #建立一个4行五列的二维数组,值是随机出现的,不一定都是0
e1

array([[6.23042070e-307, 3.56043053e-307, 1.60219306e-306,
2.44763557e-307, 1.69119330e-306],
[7.56599807e-307, 8.90104239e-307, 1.11261027e-306,
1.11261502e-306, 1.42410839e-306],
[7.56597770e-307, 6.23059726e-307, 1.05700345e-307,
1.11261027e-306, 2.22523004e-306],
[1.78021527e-306, 6.23059726e-307, 1.33511562e-306,
6.89805151e-307, 1.11261909e-306]])

6、logspace()函数
返回在对数刻度上均匀间隔的数字。
函数使用格式,logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)

#6 logspace()函数
np.logspace(2,5,num=3) 

array([ 100. , 3162.27766017, 100000. ])
7、full()函数
返回指定值的数组。
函数使用格式,full(shape, fill_value, dtype=None, order=‘C’)

#7.full()函数
f1 = np.full(6,9)      #建立6个填充值为9的一维数组
f1

array([9, 9, 9, 9, 9, 9])

8、eye()函数
返回对角线为1,其它都为0的一个二维数组。
函数使用格式,eye(N, M=None, k=0, dtype=<class ‘float’>, order=‘C’)

#eye()函数
np.eye(4)

array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
9、repeat()函数
建立每个元素重复N次的数组。
函数使用格式,repeat(a, repeats, axis=None)

#repeat()函数
np.repeat([3,1,2],5)

array([3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2])

猜你喜欢

转载自blog.csdn.net/changshupx/article/details/108186611