Numpy快速入门简明教程


本教程是Numpy的入门教程,基于官方《Quickstart tutorialnumpy不是Python默认内置模块,所以在使用numpy之前,我们需要导入numpy模块:

import numpy as np

一、创建numpy数组

1. 使用numpy.array()函数

1) 通过List创建numpy数组

传入Python标准的list

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)

输出:

[[1 2 3]
 [4 5 6]]
2) 通过tuple创建numpy数组

传入tuple

b = np.array(((1, 2, 3), (4, 5, 6)))
print(b)

输出:

[[1 2 3]
 [4 5 6]]

2. 使用arange()函数创建数组

arange()函数用来创建序列数组

1) 传入单个参数时,可以创建从0开始到传入参数的按1递增的序列数组
c = np.arange(20)
print(c)

输出:

[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]
2) 传入2个参数,可以创建从第1个参数开始到第2个参数的按1递增的序列数组
d = np.arange(10,20)
print(d)

输出:

[10 11 12 13 14 15 16 17 18 19]
3) 传入3个参数,可以创建从第1个参数开始到第2个参数的按第3个参数递增的序列数组
e = np.arange(10, 20, 3)
print(e)

输出:

[10 13 16 19]

当然也可以用该方法创建一个递减序列数组:

f = np.arange(20, 10, -3)
print(f)

输出:

[20 17 14 11]

3. 使用linspace()函数创建数组

linspace()同样可以像arange()函数那样创建序列数组。 在有些情况下,我们不知道递增数值是多少,而只想产生某个数值范围内的指定个数的序列数组。这种情况下, 使用linspace()arange()函数更方便。因为linspace()会自动计算递增数值。 如下,生成了一个从0递增到2的包含9个元素的序列数组:

e = np.linspace(0, 2, 9)
print(e)
print(e.dtype)

输出:

[0.   0.25 0.5  0.75 1.   1.25 1.5  1.75 2.  ]
float64

下面例子,通过linspace()函数生成0到2倍pi值的包含10个元素的递增序列数组,然后对生成的序列数组求sin值。

from numpy import pi
e = np.linspace(0, 2*pi, 10)
print(e)
e = np.sin(e)
print(e)

输出:

[0.         0.6981317  1.3962634  2.0943951  2.7925268  3.4906585
 4.1887902  4.88692191 5.58505361 6.28318531]
[ 0.00000000e+00  6.42787610e-01  9.84807753e-01  8.66025404e-01
  3.42020143e-01 -3.42020143e-01 -8.66025404e-01 -9.84807753e-01
 -6.42787610e-01 -2.44929360e-16]

文章作者: yglong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yglong !
评论
  目录