Numpy总结
发布人:shili8
发布时间:2024-12-24 00:39
阅读次数:0
**NumPy总结**
NumPy(Numerical Python)是一种用于科学计算和数据分析的Python库。它提供了高性能、多维数组和矩阵运算功能,成为Python数据分析领域的核心组件。
### NumPy的基本概念#### 数组和向量在NumPy中,数组是最基本的数据结构。一个数组可以看作是一维或多维的向量,每个元素都有相同的类型。例如:
import numpy as np# 创建一个一维数组arr1 = np.array([1,2,3,4,5]) print(arr1) # [12345] # 创建一个二维数组arr2 = np.array([[1,2], [3,4]]) print(arr2) # [[12] # [34]]
#### 数组的属性和方法NumPy数组有许多属性和方法,可以用来操作和分析数据。例如:
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # 获取数组的大小print(arr.size) #5# 获取数组的形状print(arr.shape) # (5,) # 获取数组的类型print(arr.dtype) # int64# 获取数组的元素个数print(len(arr)) #5# 将数组转换为列表arr_list = arr.tolist() print(arr_list) # [1,2,3,4,5]
#### 数组运算NumPy提供了许多用于数组运算的函数,例如:
import numpy as np# 创建两个一维数组arr1 = np.array([1,2,3]) arr2 = np.array([4,5,6]) # 将两个数组相加print(arr1 + arr2) # [579] # 将两个数组相乘print(arr1 * arr2) # [41018] # 将一个数组除以另一个数组print(arr1 / arr2) # [0.250.40.5 ]
#### 数组函数NumPy提供了许多用于数组操作的函数,例如:
import numpy as np# 创建一个一维数组arr = np.array([1,2,3,4,5]) # 获取数组的最大值和最小值print(np.max(arr)) #5print(np.min(arr)) #1# 获取数组的平均值print(np.mean(arr)) #3.0# 获取数组的标准差print(np.std(arr)) #1.4142135623730951
### NumPy中的矩阵运算NumPy提供了许多用于矩阵运算的函数,例如:
import numpy as np# 创建两个二维数组arr1 = np.array([[1,2], [3,4]]) arr2 = np.array([[5,6], [7,8]]) # 将两个矩阵相加print(arr1 + arr2) # [[68] # [1012]] # 将两个矩阵相乘print(np.dot(arr1, arr2)) # [[1922] # [4350]]
### NumPy中的线性代数运算NumPy提供了许多用于线性代数运算的函数,例如:
import numpy as np# 创建一个二维数组arr = np.array([[1,2], [3,4]]) # 获取矩阵的行列式print(np.linalg.det(arr)) # -2.0# 获取矩阵的逆print(np.linalg.inv(arr)) # [[-2.1. ] # [1.5 -0.5]] # 获取矩阵的迹print(np.trace(arr)) #5
### NumPy中的随机数生成NumPy提供了许多用于随机数生成的函数,例如:
import numpy as np#生成一个一维数组arr = np.random.rand(5) print(arr) # [0.548508550.715189370.602763390.891231450.32988215] #生成一个二维数组arr = np.random.rand(2,3) print(arr) # [[0.658106850.095302190.47614167] # [0.934117550.572391390.11512445]]
### NumPy中的数据类型NumPy支持多种数据类型,例如:
import numpy as np# 创建一个一维数组arr = np.array([1,2,3]) # 将数组的数据类型设置为int8arr = arr.astype(np.int8) print(arr.dtype) # int8# 将数组的数据类型设置为float64arr = arr.astype(np.float64) print(arr.dtype) # float64
### NumPy中的文件输入输出NumPy支持多种文件格式,例如:
import numpy as np# 创建一个一维数组arr = np.array([1,2,3]) # 将数组写入到txt文件中np.savetxt('data.txt', arr) # 将数组读取回内存中arr_read = np.loadtxt('data.txt') print(arr_read) # [1.2.3.] # 将数组写入到npy文件中np.save('data.npy', arr) # 将数组读取回内存中arr_read = np.load('data.npy') print(arr_read) # [123]
### NumPy中的多维数组NumPy支持多维数组,例如:
import numpy as np# 创建一个三维数组arr = np.array([[[1,2], [3,4]], [[5,6], [7,8]]]) print(arr) # [[[12] # [34]] # [[56] # [78]]] # 获取数组的大小print(arr.size) #8# 获取数组的形状print(arr.shape) # (2,2,2) # 将数组转换为列表arr_list = arr.tolist() print(arr_list) # [[[1,2], [3,4]], [[5,6], [7,8]]]
### NumPy中的矩阵乘法NumPy支持矩阵乘法,例如:
import numpy as np# 创建两个二维数组arr1 = np.array([[1,2], [3,4]]) arr2 = np.array([[5,6], [7,8]]) # 将两个矩阵相乘print(np.dot(arr1, arr2)) # [[1922] # [4350]]
### NumPy中的线性代数运算NumPy支持多种线性代数运算,例如:
import numpy as np# 创建一个二维数组arr = np.array([[1,2], [3,4]]) # 获取矩阵的行列式print(np.linalg.det(arr)) # -2.0# 获取矩阵的逆print(np.linalg.inv(arr)) # [[-2.1. ] # [1.5 -0.5]] # 获取矩阵的迹print(np.trace(arr)) #5
### NumPy中的随机数生成NumPy支持多种随机数生成函数,例如:
import numpy as np#生成一个一维数组arr = np.random.rand(5) print(arr) # [0.548508550.715189370.602763390.891231450.32988215] #生成一个二维数组arr = np.random.rand(2,3) print(arr) # [[0.658106850.095302190.47614167] # [0.934117550.572391390.11512445]]
### NumPy中的数据类型NumPy支持多种数据类型,例如:
import numpy as np# 创建一个一维数组arr = np.array([1,2,3]) # 将数组的数据类型设置为int8arr = arr.astype(np.int8) print(arr.dtype) # int8# 将数组的数据类型设置为float64arr = arr.astype(np.float64) print(arr.dtype) # float64
### NumPy中的文件