Python-基础数学运算、数据结构和数据分析
以下是按照基础数学运算、数据结构和数据分析分类整理的术语及解释,包含Python实现示例:
一、基础数学运算术语
术语 | 解释 | Python示例 |
---|---|---|
阶乘 (Factorial) | 正整数从1到n的连乘积(n!) | math.factorial(5) → 120 |
斐波那契数列 | 每一项是前两项之和的数列(0,1,1,2,3,5…) | def fib(): a,b=0,1; while True: yield a; a,b=b,a+b |
质数/素数 | 大于1且只能被1和自身整除的自然数 | sympy.isprime(17) → True |
最大公约数 (GCD) | 能同时整除多个数的最大正整数 | math.gcd(12, 18) → 6 |
最小公倍数 (LCM) | 能被多个数整除的最小正整数 | math.lcm(4, 6) → 12 |
对数 | 幂运算的逆运算(logₐb) | math.log(100, 10) → 2.0 |
三角函数 | 正弦(sin)、余弦(cos)、正切(tan)等 | math.sin(math.pi/2) → 1.0 |
矩阵乘法 | 两个矩阵的线性代数乘法 | np.dot([[1,2],[3,4]], [[5,6],[7,8]]) → [[19,22],[43,50]] |
导数 | 函数变化率的极限(微积分基础) | sympy.diff(x**2, x) → 2x (需sympy 库) |
积分 | 函数曲线下的面积(微积分基础) | sympy.integrate(x**2, x) → x³/3 |
二、数据结构术语
术语 | 解释 | Python示例 |
---|---|---|
列表 (List) | 可变有序序列 | lst = [1, 2, 3]; lst.append(4) |
元组 (Tuple) | 不可变有序序列 | tup = (1, 2); x, y = tup |
字典 (Dict) | 键值对集合(哈希表实现) | d = {'a':1}; d.get('a') → 1 |
集合 (Set) | 无序不重复元素集 | s = {1,2}; s.add(3) |
队列 (Queue) | 先进先出(FIFO)结构 | from queue import Queue; q = Queue(); q.put(1) |
栈 (Stack) | 后进先出(LIFO)结构 | stack = []; stack.append(1); stack.pop() |
链表 (Linked List) | 节点通过指针连接的数据结构 | 需手动实现:class Node: def __init__(self, val): self.val = val; self.next = None |
树 (Tree) | 分层数据结构(如二叉树) | 二叉树实现:class TreeNode: def __init__(self, val): self.val = val; self.left = self.right = None |
图 (Graph) | 由顶点和边组成的网络结构 | 用字典表示:graph = {'A': ['B', 'C'], 'B': ['D']} |
堆 (Heap) | 完全二叉树,用于优先队列 | import heapq; heap = []; heapq.heappush(heap, 2) |
三、数据分析术语
术语 | 解释 | Python示例(需安装库) |
---|---|---|
DataFrame | 二维表格型数据结构(Pandas核心) | pd.DataFrame({'A':[1,2], 'B':['x','y']}) |
Series | 一维带标签数组(Pandas基础结构) | pd.Series([1,2,3], index=['a','b','c']) |
NaN/缺失值 | 表示缺失数据的特殊值 | pd.isna(np.nan) → True |
分组聚合 | 按某列分组后统计(如求和、均值) | df.groupby('category')['value'].mean() |
透视表 | 多维数据交叉汇总 | pd.pivot_table(df, values='D', index=['A'], columns=['B']) |
独热编码 | 将分类变量转换为二进制矩阵 | pd.get_dummies(df['color']) |
标准化 | 将数据缩放至均值为0、方差为1 | from sklearn.preprocessing import StandardScaler; scaler.fit_transform(X) |
归一化 | 将数据缩放到[0,1]区间 | (df - df.min()) / (df.max() - df.min()) |
相关系数 | 衡量变量间线性关系强度(-1到1) | df.corr() |
时间序列分析 | 对时间索引数据的统计分析 | df.resample('M').mean() (需datetime 索引) |
四、补充说明
-
数学符号扩展:
- ∑ (求和):sum([1,2,3])
→ 6
- ∏ (求积):math.prod([1,2,3])
→ 6
- ∫ (积分): 需用sympy
库符号计算 -
性能优化术语:
- 向量化:用NumPy/Pandas替代循环(np.array([1,2,3]) * 2
)
- 并行化:from multiprocessing import Pool
-
机器学习相关:
- 特征工程:数据预处理(缩放、编码、降维)
- 交叉验证:sklearn.model_selection.KFold
如果需要更深入的代码示例或特定领域的术语解释,可以进一步说明!