本文记录 numpy 包中查漏补缺的部分
1.简介
数据分析的基础包
- 主要对象:同类元素的多维数组
- array:只处理一位数组
- ndarray:可创建高维数组
2.ndarray
- 列0 行1 层2
3.内置函数
- np.rint():四舍五入
- np.where():三元运算
4.统计函数
- np.cumsum(arr, axis = 1/0):按行/列求和
5.比较函数
- np.any():矩阵a和矩阵b中对应元素是否有一个相等
- np.all():矩阵a和矩阵b中所有对应元素是否全都相等
6.去重函数
np.unique():将多维数组去重后成为一维数组
import numpy as np
arr = np.array([[1, 2, 3, 1], [2, 3, 4, 5]])
print("arr数组未去重:", arr)
print("arr数组去重:", np.unique(arr))
# 运行结果
arr数组未去重: [[1 2 3 1][2 3 4 5]]
arr数组去重: [4 5]
7.抽取函数
np.extract()
import numpy as np
a = np.arange(10)
# 生成一个抽取元素的花式索引
condition = a % 2 == 0 # 赋值/算术/逻辑运算符优先级
print("花式索引", condition)
even1 = np.extract(condition, a)
print("偶数项:", even1)
# take()/compress()
# np.ndarray.compress():返回一个根据给定条件筛选后的数组
even2 = a.compress(condition)
print("返回给定条件后的数组:", even2)
# 运行结果
花式索引 [ True False True False True False True False True False]
偶数项: [0 2 4 6 8]
返回给定条件后的数组: [0 2 4 6 8]
8.线性代数
- np.linalg.inv(A):矩阵A的逆矩阵
- np.linalg.solve(A, B):求解方程AX=B
- np.linalg.eigvals(v):求解A的特征值
- np.linalg.eig(v):求解A的特征向量
- np.linalg.det(A):矩阵A的行列式