您的位置:

数字计算的利器——numpy

Python语言不仅是一门易学易用的语言,同时也被广泛地运用在科学计算和数据分析领域。Numpy是Python语言下的一个重要的科学计算和数据分析的模块,因而成为Python的核心科学计算库。Numpy强力支持多维数组和矩阵计算,它拥有丰富的科学计算函数库用于线性代数运算、傅立叶变换和随机数生成等方面,同时也是其它重要的科学计算和数据分析库的基础。

一、快速上手

在正式开始Python的高效科学计算之前,需要先通过pip安装numpy库。

pip install numpy

安装完成后,就可以开始使用numpy库。使用import来引入numpy模块,当引入后便可使用模块内的函数和方法。

import numpy as np

Numpy中非常重要和强大的一个特性是其 ndarray 对象,ndarray 对象是一个用于存放相同数据类型元素的多维数组,可以是单维数组也可以是多维数组。下面是一个例子:

import numpy as np

a = np.array([1, 2, 3])  # 创建一个一维数组
print(a)  # 输出 [1 2 3]

b = np.array([[1, 2, 3], [4, 5, 6]])  # 创建一个二维数组
print(b)  # 输出 [[1 2 3] [4 5 6]]

上述例子中,使用np.array()创建了一个一维数组和一个二维数组,通过print()输出数组的内容,我们可以发现Numpy对于数组的表现会更加的美好。

Numpy中的一些常用函数:

  • np.arange():按指定步长生成一个一维数组。
  • np.random.rand():生成指定形状的随机矩阵。
  • np.exp():对指定矩阵中的所有元素进行指数运算。

二、Numpy的数组与矩阵计算

Numpy的数组与矩阵计算是其最强大的特性之一。在进行科学计算和数据分析的时候,我们通常会面临着多维数组和矩阵计算的问题。在Python中,如果我们需要用for循环去实现这些计算,那么一定是非常低效的。而利用Numpy的数组和矩阵计算,可以快速高效地实现复杂的科学计算和数据分析。

Numpy库提供了很多的函数用于处理数组和矩阵,比如np.dot()函数用于做矩阵乘法,np.transpose()函数用于做矩阵转置,np.linalg.inv()函数也常用于求矩阵的逆矩阵,等等。

下面是一个数组和矩阵计算的例子:

import numpy as np

a = np.array([[1, 2], [3, 4]])
print(a)
# 输出 [[1 2]
#      [3 4]]

b = np.array([[0, 1], [1, 0]])
print(b)
# 输出 [[0 1]
#      [1 0]]

c = np.dot(a, b)  # 数组 a 和 b 的矩阵乘法
print(c)
# 输出 [[2 1]
#      [4 3]]

d = np.transpose(a)  # 矩阵 a 的转置
print(d)
# 输出 [[1 3]
#      [2 4]]

e = np.linalg.inv(a)  # 矩阵 a 的逆矩阵
print(e)
# 输出 [[-2.   1. ]
#      [ 1.5 -0.5]]

三、Numpy的常用函数

Numpy除了强大的数组和矩阵计算功能之外,还提供了很多实用的函数,这些函数可以被广泛的应用在科学计算和数据分析事务中。在这里,我们介绍几个常用的函数。

  • np.sum():对整个数组中的元素进行求和。
  • np.mean():对整个数组中的元素进行求平均值。
  • np.std():对整个数组中的元素进行求标准差。
  • np.max():对整个数组中的元素进行求最大值。
  • np.min():对整个数组中的元素进行求最小值。
  • np.sort():对整个数组中的元素进行排序。
  • np.argmax():返回整个数组中的最大值的索引。
  • np.argmin():返回整个数组中的最小值的索引。

下面是一个使用了常用函数的例子:

import numpy as np

a = np.array([7, 3, 9, 1, 5, 8, 2, 6, 4])  # 创建一个一维数组
sum1 = np.sum(a)  # 整个数组之和
print(sum1)

mean1 = np.mean(a)  # 整个数组元素的平均值
print(mean1)

std1 = np.std(a)  # 整个数组元素的标准差
print(std1)

max1 = np.max(a)  # 整个数组中的最大值
print(max1)

min1 = np.min(a)  # 整个数组中的最小值
print(min1)

sort1 = np.sort(a)  # 整个数组元素的排序结果
print(sort1)

argmax1 = np.argmax(a)  # 整个数组中的最大值的索引
print(argmax1)

argmin1 = np.argmin(a)  # 整个数组中的最小值的索引
print(argmin1)

四、小结

Numpy是Python语言下的一个重要的科学计算和数据分析的模块。它强力支持多维数组和矩阵计算,拥有丰富的科学计算函数库。本文介绍了numpy的基本操作,数组和矩阵计算,以及常用的函数等方面。