欢迎访问宙启技术站
智能推送

Numpy库中常用函数:基本操作、矩阵运算和数组处理

发布时间:2023-05-20 08:42:59

Numpy库是Python中用于科学计算的基础包之一,它提供了一些基本的数据结构和操作,包括多维数组、基本运算、线性代数和随机数生成等等。在此文中,将着重介绍Numpy库中常用的函数,包括基本操作、矩阵运算和数组处理。

一、基本操作

1.创建数组:使用numpy.array()函数创建一个多维数组。例如,创建一个1x3的数组:

import numpy as np
a = np.array([1, 2, 3])
print(a)

输出:

2.数组属性:通过shape、dtype、ndim、size等属性了解数组的信息,其中shape表示数组的维度,dtype表示数组中元素的数据类型,ndim表示数组的维数,size表示数组中元素的总数。

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)  #输出(2,3)
print(a.dtype)  #输出int64
print(a.ndim)   #输出2
print(a.size)   #输出6

3.数组切片:可以通过切片方式访问数组元素。例如,访问数组a中的第0行第2列元素,可以使用a[0,2]。

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

4.数组重塑:可以使用reshape函数将一个数组变成另一种形状的数组。例如,将一个3x3的数组转换成一个9x1的数组。

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = a.reshape(9,1)
print(b)

输出:

[[1]
 [2]
 [3]
 [4]
 [5]
 [6]
 [7]
 [8]
 [9]]

二、矩阵运算

1.矩阵乘法:numpy库中提供dot()函数实现矩阵乘法,使用前提是两个矩阵的行列数匹配。

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
c = np.dot(a, b)
print(c)

输出:

[[19 22]
 [43 50]]

2.矩阵转置:numpy库中的transpose()函数用于矩阵转置。

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

输出:

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

3.逆矩阵:numpy库中提供linalg.inv()函数用于矩阵求逆。

a = np.array([[1, 2], [3, 4]])
b = np.linalg.inv(a)
print(b)

输出:

[[-2.   1. ]
 [ 1.5 -0.5]]

4.行列式:numpy库中提供linalg.det()函数用于矩阵行列式的求解。

a = np.array([[1, 2], [3, 4]])
b = np.linalg.det(a)
print(b)

输出:

-2.0

三、数组处理

1.数组去重:numpy库中的unique()函数用于返回输入数组中的无重复元素的版本。

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

输出:

[1 2 3 4 5]

2.数组连接:将两个或多个数组合并成一个数组,numpy库中的concatenate()函数可以完成数组的拼接操作。

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
c = np.concatenate((a,b), axis=0)
print(c)

输出:

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

3.数组重复:numpy库中的repeat()函数用于重复数组中的元素。例如,将数组[1,2,3]中每个元素重复3次,可以使用repeat()函数完成。

a = np.array([1, 2, 3])
b = np.repeat(a, 3)
print(b)

输出:

[1 1 1 2 2 2 3 3 3]

4.数组间操作:numpy库中有一些函数用于在数组间进行操作,比如取交集、并集和差集等,常用的函数有intersect1d()、union1d()和setdiff1d()。

a = np.array([1, 2, 3, 4])
b = np.array([3, 4, 5, 6])
c = np.intersect1d(a, b)
d = np.union1d(a, b)
e = np.setdiff1d(a, b)
print(c)
print(d)
print(e)

输出:

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

总结:本文中介绍了Numpy库中常用的函数,包括基本操作、矩阵运算和数组处理等。熟练应用这些函数可以提升科学计算的效率和精度,在数据分析和科学研究等领域有着广泛的应用。