numpy中文手册详解

发布时间:2023-05-21

一、介绍numpy

numpy是一个Python第三方库,提供了数组和矩阵运算的高效操作方法以及各种数学函数的实现,同时numpy也是进行数据分析及科学计算的基础包之一。 引入numpy库,并设置别名np,可以使用以下代码:

import numpy as np

二、创建ndarray

numpy提供了几种创建ndarray的方法:

1.使用array()函数创建

这是创建ndarray最常用的方式,可以将列表或元组变为ndarray:

>>> list1 = [1, 2, 3, 4, 5]
>>> array1 = np.array(list1)
>>> array1
array([1, 2, 3, 4, 5])
>>> tuple1 = (1, 2, 3, 4, 5)
>>> array2 = np.array(tuple1)
>>> array2
array([1, 2, 3, 4, 5])

2.使用arange()函数创建

arange()函数可以创建指定区间内的等差数组,与Python内置的range()函数类似,但是arange()返回的是ndarray类型:

>>> array3 = np.arange(1, 6)
>>> array3
array([1, 2, 3, 4, 5])

3.使用zeros()和ones()函数创建

这两个函数分别可以创建指定大小的全0或全1数组:

>>> array4 = np.zeros(5)
>>> array4
array([0., 0., 0., 0., 0.])
>>> array5 = np.ones(5)
>>> array5
array([1., 1., 1., 1., 1.])

三、ndarray的基本属性

创建ndarray后,可以使用以下属性进行数据查看和处理:

1.shape

可以查看ndarray的尺寸,即每个轴上的元素个数:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.shape
(3, 2)

2.ndim

可以查看ndarray的维数:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.ndim
2

3.dtype

可以查看ndarray中元素的数据类型:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.dtype
dtype('int64')

四、ndarray的切片与索引

在使用ndarray时,常用的就是对其进行切片或索引,以下为常用的操作方法:

1.切片

切片表示对ndarray的选取,例如:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[1:3, :]
array([[3, 4], [5, 6]])

上述代码表示选取ndarray从第2行(索引1)到第3行(索引2)的元素,同时在列方向上选取全列的元素。

2.索引

索引表示对ndarray的定位,例如:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1[2, 1]
6

上述代码表示选取ndarray的第3行第2列的元素。

五、ndarray的数学运算

numpy支持大量数学运算,以下为常用的运算法则:

1.基本运算

可以对ndarray进行加、减、乘、除、幂等基本数学运算:

>>> array1 = np.array([1, 2, 3, 4])
>>> array2 = np.array([5, 6, 7, 8])
>>> array1 + array2
array([ 6,  8, 10, 12])
>>> array1 - array2
array([-4, -4, -4, -4])
>>> array1 * array2
array([ 5, 12, 21, 32])
>>> array2 / array1
array([5.        , 3.        , 2.33333333, 2.        ])
>>> array2 ** 2
array([25, 36, 49, 64])

2.各种数学函数

numpy提供了很多各种数学函数,例如开方、log、sin、cos等,以下为示例代码:

>>> array1 = np.array([1, 2, 3, 4])
# 开方运算
>>> np.sqrt(array1)
array([1.        , 1.41421356, 1.73205081, 2.        ])
# 对数运算
>>> np.log(array1)
array([0.        , 0.69314718, 1.09861229, 1.38629436])
# sin运算
>>> np.sin(array1)
array([ 0.84147098,  0.90929743,  0.14112001, -0.7568025 ])
# cos运算
>>> np.cos(array1)
array([ 0.54030231, -0.41614684, -0.9899925 , -0.65364362])

六、ndarray的聚合运算

在数据处理过程中,经常需要将多维数组统计聚合,numpy提供了多种聚合方法。

1.sum函数

计算ndarray的总和:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.sum()
21

2.mean函数

计算ndarray的平均值:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.mean()
3.5

3.min和max函数

计算ndarray的最小值和最大值:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.min()
1
>>> array1.max()
6

4.std函数

计算ndarray的标准差:

>>> array1 = np.array([[1, 2], [3, 4], [5, 6]])
>>> array1.std()
1.707825127659933

七、结论

以上就是numpy中文手册的基本介绍与操作方法,通过掌握这些内容,我们可以使用Python进行更加高效和精确的数据分析和科学计算。