Numpy

用于科学计算的python模块,提供了Python中没有的数组对象,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换以及随机数生成等功能,并可与C++、FORTRAN等语言无缝结合。

    菜鸟教程:https://www.runoob.com/numpy/numpy-dtype.html

·导入numpy模块(打开cmd窗口)

pip install numpy

·简单应用

import numpy as np

1.生成数组

 1 >>> np.array([1, 2, 3, 4, 5])        # 把列表转换为数组
 2 array([1, 2, 3, 4, 5])
 3 >>> np.array((1, 2, 3, 4, 5))        # 把元组转换成数组
 4 array([1, 2, 3, 4, 5])
 5 >>> np.array(range(5))               # 把range对象转换成数组
 6 array([0, 1, 2, 3, 4])
 7 >>> np.array([[1, 2, 3], [4, 5, 6]]) # 二维数组
 8 array([[1, 2, 3],
 9        [4, 5, 6]])
10 >>> np.arange(8)                     # 类似于内置函数range()
11 array([0, 1, 2, 3, 4, 5, 6, 7])
12 >>> np.arange(1, 10, 2)              #从1到10(包括1,不包括10),步长为2
13 array([1, 3, 5, 7, 9])
14 >>> np.linspace(0, 10, 11)        
15       # 等差数组,包含11个数,从0到10(包括0,也包括10,闭区间),平均分为11个数字array([  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.])
16 >>> np.linspace(0, 10, 11, endpoint=False) # 不包含终点
17 array([ 0.        ,  0.90909091,  1.81818182,  2.72727273,  3.63636364,
18         4.54545455,  5.45454545,  6.36363636,  7.27272727,  8.18181818,
19         9.09090909])
20 >>> np.logspace(0, 100, 10)  # 对数数组,从0到100,取10个数,返回10个数分别作为幂,计算基为10的结果数组
21 array([ 1.00000000e+000,   1.29154967e+011,   1.66810054e+022,
22         2.15443469e+033,   2.78255940e+044,   3.59381366e+055,
23         4.64158883e+066,   5.99484250e+077,   7.74263683e+088,
24         1.00000000e+100])
25 >>>np.logspace(0, 10, 5)
26 array([1.00000000e+00, 3.16227766e+02, 1.00000000e+05, 3.16227766e+07,
27        1.00000000e+10])
28 >>> np.logspace(1,6,5, base=2) # 对数数组,相当于2 ** np.linspace(1,6,5)
29 array([  2.        ,   4.75682846,  11.3137085 ,  26.90868529,  64.        ])
30 >>>np.logspace(1,5,5,base=2)
31 array([ 2.,  4.,  8., 16., 32.])
32 >>>np.logspace(1,6,3,base=2)
33 array([ 2.       , 11.3137085, 64.       ])
34 >>> np.zeros(3)                     # 全0一维数组
35 array([ 0.,  0.,  0.])
36 >>> np.ones(3)                      # 全1一维数组
37 array([ 1.,  1.,  1.])
38 >>> np.zeros((3,3))              # 全0二维数组,3行3列
39 array([[ 0.,  0.,  0.],
40        [ 0.,  0.,  0.],
41        [ 0.,  0.,  0.]])
42 >>> np.zeros((3,1))              # 全0二维数组,3行1列
43 array([[ 0.],
44        [ 0.],
45        [ 0.]])
46 >>> np.zeros((1,3))              # 全0二维数组,1行3列
47 array([[ 0.,  0.,  0.]])
48 >>> np.ones((3,3))               # 全1二维数组
49 array([[ 1.,  1.,  1.],
50        [ 1.,  1.,  1.],
51        [ 1.,  1.,  1.]])
52 >>> np.ones((1,3))  # 全1二维数组
53 array([[ 1.,  1.,  1.]])
54 >>> np.identity(3)  # 单位矩阵
55 array([[ 1.,  0.,  0.],
56        [ 0.,  1.,  0.],
57        [ 0.,  0.,  1.]])
58 >>> np.identity(2)
59 array([[ 1.,  0.],
60        [ 0.,  1.]])
61 >>> np.empty((3,3)) # 空数组,只申请空间而不初始化,元素值是不确定的
62 array([[ 0.,  0.,  0.],
63        [ 0.,  0.,  0.],
64        [ 0.,  0.,  0.]])
65 >>> np.random.randint(0, 50, 5)   # 随机数组,5个0到50之间的数字
66 array([13, 47, 31, 26,  9])
67 >>> np.random.randint(0, 50, (3,5)) # 3行5列
68 array([[34,  2, 33, 14, 40],
69        [ 9,  5, 10, 27, 11],
70        [26, 17, 10, 46, 30]])
71 >>> np.random.rand(10)
72 array([ 0.98139326,  0.35675498,  0.30580776,  0.30379627,  0.19527425,
73         0.59159936,  0.31132305,  0.20219211,  0.20073821,  0.02435331])
74 >>> np.random.standard_normal(5)     # 从标准正态分布中随机采样
75 array([ 2.82669067,  0.9773194 , -0.72595951, -0.11343254,  0.74813065])
View Code 

相关文章: