您的位置:

numpy中文手册详解

一、介绍numpy

numpy是一个Python第三方库,提供了数组和矩阵运算的高效操作方法以及各种数学函数的实现,同时numpy也是进行数据分析及科学计算的基础包之一。

引入numpy库,并设置别名np,可以使用以下代码:

<python>
    import numpy as np

二、创建ndarray

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

1.使用array()函数创建

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

<python>
    >>> 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类型:

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

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

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

<python>
    >>> 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的尺寸,即每个轴上的元素个数:

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

2.ndim

可以查看ndarray的维数:

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

3.dtype

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

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

四、ndarray的切片与索引

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

1.切片

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

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

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

2.索引

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

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

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

五、ndarray的数学运算

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

1.基本运算

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

<python>
    >>> 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等,以下为示例代码:

<python>
    >>> 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的总和:

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

2.mean函数

计算ndarray的平均值:

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

3.min和max函数

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

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

4.std函数

计算ndarray的标准差:

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

七、结论

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