目录
一:简介
二:NumPy 常用操作
三:总结
一:简介
是一个开源的Python库,它为Python提供了强大的多维数组对象和用于处理这些数组的函数。NumPy的核心是ndarray,它是一个高效的多维数组容器,用于存储和处理大规模的数据。NumPy还提供了许多数学函数,用于数组之间的操作,以及用于线性代数、傅立叶变换和随机数生成等功能。
二:NumPy 常用操作
1 : 数组操作
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度
(1):创建一维数组
arr = np.array([1,2,3,4,5,6])
print(arr)
(2)创建多维数组
arr = np.array([[1,2,3],[4,5,6]])
print(arr)
(3)迭代数组
arr = np.array([1,2,3,4,5,6])
for x in np.nditer(arr.T):
print (x, end=", " )
print ('\n')
(4)修改数组形状
arr = np.array([1,2,3,4,5,6])
b = arr.reshape(2,3)
print(b) 转化为2行3列
(5)数组广播
a = np.array([1,2,3,4])
b = np.array([10,20,30,40])
c = a * b
print (c)
(6)算数运算
a = np.arange(9, dtype = np.float_).reshape(3,3)
b = np.array([10,10,10])
add = np.add(a,b) #相加
sub = np.subtract(a,b) #相减
mul = np.multiply(a,b) #相乘
div = np.divide(a,b) #相除
print (add)
print (sub)
print (mul)
print (div)
(7)统计
a = np.array([[3,7,5],[8,4,3],[2,4,9]])
print (np.amin(a,1)) #按照行
print (np.amin(a,0)) #按照列
(8)数据排序
a = np.array([[3,7,8],[9,1,2]])
print (np.sort(a)) #按照行排序
print (np.sort(a, axis = 0)) #按照列排序
(9) 数据筛选
a = np.array([[30,40,70],[80,20,10],[50,90,60]])
print (a.flatten())
print(np.argmax(a, axis = 0)) #按列求最大值
print(np.argmax(a, axis = 1)) #按行求最大值
2: 运算
(1) 两个数组的点积,即元素对应相乘。
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
print(np.dot(a,b))
(2) 两个向量的点积
a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
# vdot 将数组展开计算内积
print (np.vdot(a,b))
(3)计算矩阵的乘法逆矩阵
x = np.array([[1,2],[3,4]])
y = np.linalg.inv(x)
print (x)
print (y)
print (np.dot(x,y))
3: 画图
(1) 离散图
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1, 11)
y = 2 * x + 5
plt.title("离散图")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x, y, "ob")
plt.show()
(2)计算正弦曲线
import numpy as np
import matplotlib.pyplot as plt
# 计算正弦曲线上点的 x 和 y 坐标
x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
plt.title("正弦曲线")
# 使用 matplotlib 来绘制点
plt.plot(x, y)
plt.show()
三:总结
这里我们只是举例演示部分NumPy的函数操作,NumPy还有很多函数用于复杂的代数运算和其他用途。