创建np.array
In [2]: import numpy as np
In [3]: np.__version__
Out[3]: '1.17.0'
In [4]: arr = np.array([i for i in range(10)])
In [6]: arr
Out[6]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [7]: arr[3] = 3.14
In [8]: arr
Out[8]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [10]: arr.dtype
Out[10]: dtype('int32')
In [11]: arr2 = np.array([1,2.3])
In [12]: arr2.dtype
Out[12]: dtype('float64')
In [13]: np.zeros(10)
Out[13]: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
In [14]: np.zeros(10, dtype=int)
Out[14]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
In [15]: np.zeros((3,5))
Out[15]:
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
In [16]: np.zeros(shape=(3,5))
Out[16]:
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
In [17]: np.ones((3,5))
Out[17]:
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
In [18]: np.full((3,5),10)
Out[18]:
array([[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10]])
In [19]: np.arange(0,20,2)
Out[19]: array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
In [20]: np.arange(0,1,.2)
Out[20]: array([0. , 0.2, 0.4, 0.6, 0.8])
In [21]: np.linspace(0,20,10)
Out[21]:
array([ 0. , 2.22222222, 4.44444444, 6.66666667, 8.88888889,
11.11111111, 13.33333333, 15.55555556, 17.77777778, 20. ])
In [22]: np.random.randint(0,10)
Out[22]: 2
In [23]: np.random.randint(0,10,10) # 创建随机10个[0,10)之间的整数
Out[23]: array([5, 7, 5, 0, 4, 1, 5, 4, 0, 6])
In [24]: np.random.randint(4,8, size=(3,5))
Out[24]:
array([[5, 5, 5, 4, 4],
[6, 5, 5, 4, 5],
[6, 6, 7, 4, 7]])
In [25]: np.random.seed(666)
In [26]: np.random.randint(4,8, size=(3,5))
Out[26]:
array([[4, 6, 5, 6, 6],
[6, 5, 6, 4, 5],
[7, 6, 7, 4, 7]])
In [27]: np.random.seed(666)
In [28]: np.random.randint(4,8, size=(3,5))
Out[28]:
array([[4, 6, 5, 6, 6],
[6, 5, 6, 4, 5],
[7, 6, 7, 4, 7]])
In [29]: np.random.random()
Out[29]: 0.2811684913927954
In [30]: np.random.random(10)
Out[30]:
array([0.46284169, 0.23340091, 0.76706421, 0.81995656, 0.39747625,
0.31644109, 0.15551206, 0.73460987, 0.73159555, 0.8578588 ])
In [31]: np.random.random((3,4))
Out[31]:
array([[0.76741234, 0.95323137, 0.29097383, 0.84778197],
[0.3497619 , 0.92389692, 0.29489453, 0.52438061],
[0.94253896, 0.07473949, 0.27646251, 0.4675855 ]])
In [32]: np.random.normal()
Out[32]: -0.9424968816646625
In [33]: np.random.normal(10,100)
Out[33]: -148.04586122473583
np.array的基本操作 reshape
In [35]: x = np.arange(10)
In [36]: x
Out[36]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [37]: X = np.arange(15).reshape(3,5)
In [38]: X
Out[38]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
In [40]: x.ndim
Out[40]: 1
In [42]: X.ndim
Out[42]: 2
In [43]: X.shape
Out[43]: (3, 5)
In [44]: x.shape
Out[44]: (10,)
In [45]: X.size
Out[45]: 15
In [46]: x.size
Out[46]: 10
In [47]: x
Out[47]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [48]: x[0]
Out[48]: 0
In [49]: x[-1]
Out[49]: 9
In [50]: X
Out[50]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
In [51]: X[0][0]
Out[51]: 0
In [52]: X[0,0]
Out[52]: 0
In [53]: x[0:4]
Out[53]: array([0, 1, 2, 3])
In [54]: X[::2]
Out[54]:
array([[ 0, 1, 2, 3, 4],
[10, 11, 12, 13, 14]])
In [55]: X[:2,:3]
Out[55]:
array([[0, 1, 2],
[5, 6, 7]])
In [56]: X[:2,::2]
Out[56]:
array([[0, 2, 4],
[5, 7, 9]])
In [57]: X[0,:]
Out[57]: array([0, 1, 2, 3, 4])
In [58]: X[0]
Out[58]: array([0, 1, 2, 3, 4])
In [59]: subX = X[:2,:3]
In [60]: subX
Out[60]:
array([[0, 1, 2],
[5, 6, 7]])
In [61]: subX[0,0] =100 # 通过切片得到的子数组,改变子数组会改变原数组
In [62]: subX
Out[62]:
array([[100, 1, 2],
[ 5, 6, 7]])
In [63]: X
Out[63]:
array([[100, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[ 10, 11, 12, 13, 14]])
In [64]: subX = X[:2,:3].copy() # 可以使用copy
In [65]: subX
Out[65]:
array([[100, 1, 2],
[ 5, 6, 7]])
In [66]: subX[0,0] =300
In [67]: subX
Out[67]:
array([[300, 1, 2],
[ 5, 6, 7]])
In [68]: X
Out[68]:
array([[100, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[ 10, 11, 12, 13, 14]])
In [69]: x.shape
Out[69]: (10,)
In [70]: x.ndim
Out[70]: 1
In [71]: x.reshape(2,5)
Out[71]:
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
In [72]: x
Out[72]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
In [73]: A = x.reshape(2,5)
In [74]: A
Out[74]:
array([[0, 1, 2, 3, 4],
[5,