您的位置:

Python模块:Numpy计算数组

一、介绍

Numpy是Python中功能强大的库之一,它为Python提供了一种更高效的方法来处理大型数​​组和矩阵。Numpy使得Python变得更接近于一种与MATLAB和R等科学计算语言相似的语言,使其在科学计算和数据分析方面更有竞争力。它具有广泛的功能和易于使用的API,允许开发人员更快地进行数值计算。

使用Numpy库,我们可以将多层嵌套的列表转换为Numpy数组,并很容易地对它们进行操作,如数字运算、线性代数、统计计算等。本文将对该库的一些功能进行讲解。

二、创建数组

在使用Numpy时,首先需要创建一个数组。以下是几种创建数组的方法。

方法一:使用numpy.array()函数创建一个数组

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(arr) # 输出:[1 2 3 4 5]

方法二:使用numpy.zeros()函数或numpy.ones()函数创建一个值为0或1的数组

import numpy as np

arr_zero = np.zeros(5)
arr_ones = np.ones(5)

print(arr_zero) # 输出:[0. 0. 0. 0. 0.]
print(arr_ones) # 输出:[1. 1. 1. 1. 1.]

三、数组运算

在Numpy中,可以对数组进行各种数值和逻辑运算,其中包括基本算术、矩阵运算、比较运算、逻辑运算等。

方法一:基本算术运算

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 加法
print(arr1 + arr2) # 输出:[5 7 9]

# 减法
print(arr1 - arr2) # 输出:[-3 -3 -3]

# 乘法
print(arr1 * arr2) # 输出:[ 4 10 18]

# 除法
print(arr2 / arr1) # 输出:[4.  2.5 2.]

方法二:矩阵运算

import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 矩阵加法
print(A + B) # 输出:[[ 6  8]
             #      [10 12]]

# 矩阵乘法
print(np.dot(A, B)) # 输出:[[19 22]
                    #      [43 50]]

方法三:比较运算

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([2, 2, 2])

# 大于运算
print(arr1 > arr2) # 输出:[False False  True]

# 小于等于运算
print(arr1 <= arr2) # 输出:[ True  True False]

方法四:逻辑运算

import numpy as np

arr1 = np.array([True, False, True])
arr2 = np.array([True, True, False])

# 与运算
print(np.logical_and(arr1, arr2)) # 输出:[ True False False]

# 或运算
print(np.logical_or(arr1, arr2)) # 输出:[ True  True  True]

# 非运算
print(np.logical_not(arr1)) # 输出:[False  True False]

四、统计计算

在Numpy中,还可以使用各种函数进行计算和统计。

方法一:计算数组中的最大值和最小值

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 最大值
print(np.max(arr)) # 输出:5

# 最小值
print(np.min(arr)) # 输出:1

方法二:计算平均值和标准差

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

# 平均值
print(np.mean(arr)) # 输出:3.0

# 标准差
print(np.std(arr)) # 输出:1.4142135623730951

五、数组形状的调整

在Numpy中,也可以对数组的形状进行调整,使之符合需要的计算方式。

方法一:reshape()函数

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

# 将数组变为2行4列的矩阵
new_arr = arr.reshape(2, 4)

print(new_arr) # 输出:[[1 2 3 4]
               #      [5 6 7 8]]

方法二:flatten()函数

import numpy as np

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

# 将矩阵展平为一维数组
new_arr = arr.flatten()

print(new_arr) # 输出:[1 2 3 4 5 6]

六、结语

以上是Numpy库的一些基本功能的介绍,这个库还有很多其他的操作和功能,可以根据自己的需求进行学习和使用。