NumPy科学计算库

Posted hly97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NumPy科学计算库相关的知识,希望对你有一定的参考价值。

Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。

ndarray的属性:

技术图片

 1 >>> b=np.array([[0,1,2,3],[4,5,6,7],[8,9,10,11]])
 2 >>> b
 3 array([[ 0,  1,  2,  3],
 4        [ 4,  5,  6,  7],
 5        [ 8,  9, 10, 11]])
 6 >>> b[0]
 7 array([0, 1, 2, 3])
 8 >>> b[1]
 9 array([4, 5, 6, 7])
10 >>> b[2]
11 array([ 8,  9, 10, 11])
12 >>> b.ndim
13 2
14 >>> b.shape
15 (3, 4)
16 >>> b.size
17 12
18 >>> b[0].ndim
19 1
20 >>> b[0].shape
21 (4,)
22 >>> b[0].size
23 4
24 >>> b[0][0]
25 0
26 >>> b[0][1]
27 1
28 >>> b[0,0]
29 0
30 >>> b[0,1]
31 1
32 >>> 

 

ndarray的类型:

技术图片

1 >>> a = np.array([[1, 2, 3],[4, 5, 6]], dtype=np.float32)
2 >>> a.dtype
3 dtype(float32)
4 
5 >>> arr = np.array([python, tensorflow, scikit-learn, numpy], dtype = np.string_)
6 >>> arr
7 array([bpython, btensorflow, bscikit-learn, bnumpy], dtype=|S12)

 

生成0和1的数组:

  • np.ones(shape, dtype)
  • np.ones_like(a, dtype)
  • np.zeros(shape, dtype)
  • np.zeros_like(a, dtype)
1 >>> ones = np.ones([4,8])
2 >>> ones
3 array([[1., 1., 1., 1., 1., 1., 1., 1.],
4        [1., 1., 1., 1., 1., 1., 1., 1.],
5        [1., 1., 1., 1., 1., 1., 1., 1.],
6        [1., 1., 1., 1., 1., 1., 1., 1.]])

>>> np.zeros_like(ones)
array([[0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0.]])

 

a = np.array([[1,2,3],[4,5,6]])
# 从现有的数组当中创建
a1 = np.array(a)
# 相当于索引的形式,并没有真正的创建一个新的
a2 = np.asarray(a)

等差数组:np.linspace (start, stop, num, endpoint)
  • 创建等差数组 — 指定数量
  • 参数:
    • start:序列的起始值
    • stop:序列的终止值
    • num:要生成的等间隔样例数量,默认为50
    • endpoint:序列中是否包含stop值,默认为ture

 1 np.linspace(0, 100, 11)

2 array([ 0., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100.]) 

数字数列数组:np.arange(start,stop, step, dtype)

  • 创建等差数组 — 指定步长
  • 参数
    • step:步长,默认值为1

 1 np.arange(10, 50, 2)

2 array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 3 44, 46, 48]) 

等比数组:np.logspace(start,stop, num)

  • 创建等比数列

  • 参数:

    • num:要生成的等比数列数量,默认为50
1 np.logspace(0, 2, 3)
2 array([  1.,  10., 100.])
3 >>> np.logspace(1, 5, 5,base=2)
4 array([ 2.,  4.,  8., 16., 32.])

 

以上是关于NumPy科学计算库的主要内容,如果未能解决你的问题,请参考以下文章

AI常用框架和工具丨1. 科学计算库NumPy

Python科学计算库-Numpy

Python科学计算库-Numpy

python能做啥科学计算

Python科学计算 - 1 Numpy库

科学计算库Numpy基础操作