一、Python基础
1, 列表推导式与条件赋值
-
[* for i in *] 。其中,第一个 * 为映射函数,其输入为后面 i 指代的内容,第二个 * 表示迭代的对象。
-
value = a if condition else b :
2. 匿名函数与map方法
- map 函数来完成,它返回的是一个 map 对象,需要通过 list 转为列表:
3. zip对象与enumerate方法
-
zip函数能够把多个可迭代对象打包成一个元组构成的可迭代对象,它返回了一个 zip 对象,通过 tuple, list 可以得到相应的打包结果:
-
需要对两个列表建立字典映射时,可以利用 zip 对象:
-
*操作符和 zip 联合使用来进行解压操作
-
enumerate 是一种特殊的打包,它可以在迭代时绑定迭代元素的遍历序号:
二、Numpy基础
1. np数组的构造
- 等差序列: np.linspace, np.arange
- 特殊矩阵: zeros, eye, full
- 随机矩阵: np.random
-
rand, randn, randint, choice ,它们分别表示0-1均匀分布的随机数组、标准正态的随机数组、随机整数组和随机列表抽样
-
当返回的元素个数与原列表相同时,等价于使用 permutation 函数,即打散原列表
-
随机种子,固定随机数的输出结果
-
2. np数组的变形与合并
- 转置: T
- 合并操作: r_ 和 c_ 分别表示上下合并和左右合并
- 维度变换: reshape
3. np数组的切片与索引
- slice 类型的 start🔚step 切片
4. 常用函数
- where 是一种条件函数,可以指定满足条件与不满足条件位置对应的填充值
- nonzero, argmax, argmin
- 这三个函数返回的都是索引, nonzero 返回非零数的索引, argmax, argmin 分别返回最大和最小数的索引
- any, all
-
any 指当序列至少 存在一个 True 或非零元素时返回 True ,否则返回 False
-
all 指当序列元素 全为 True 或非零元素时返回 True ,否则返回 False
-
- cumprod, cumsum, diff
- cumprod, cumsum 分别表示累乘和累加函数,返回同长度的数组, diff 表示和前一个元素做差,由于第一个元素为缺失值,因此在默认参数情况下,返回长度是原数组减1
- 统计函数
- max, min, mean, median, std, var, sum, quantile ,其中分位数计算是全局方法,因此不能通过 array.quantile 的方法调用
- 需要略过缺失值,必须使用 nan* 类型的函数
- cov, corrcoef: 协方差和相关系数
-
DataFrame.corr(method='pearson', min_periods=1)
-
参数说明:
- method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性 数据便会有误差。
kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
spearman:非线性的,非正太分析的数据的相关系数-
min_periods:样本最少的数据量
-
返回值:各类型之间的相关系数DataFrame表格。
-
当 axis=0 时结果为列的统计指标,当 axis=1 时结果为行的统计指标
-
-
5. 广播机制
-
当一个标量和数组进行运算时,标量会自动把大小扩充为数组大小,之后进行逐元素操作
-
二维数组之间的操作
-
-
一维数组与二维数组的操作
-
6. 向量与矩阵的计算
- 向量内积: dot
- 向量范数和矩阵范数: np.linalg.norm
- 矩阵乘法: @
参考:
https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html#id8