一、五个常用python库
Numpy/Scipy/Pandas/Matplotlib/Scikit-learn
1.Numpy
- N维数组(矩阵),快速高效,矢量数学运算
- 搞笑的Index,不需要循环
- 开源免费跨平台
2.Scipy
- 依赖于Numpy
- 专为科学和工程设计
- 实现了多种常用科学计算:线性代数、傅里叶变换、信号和图像处理
3.Pandas
- 结构化数据分析利器(依赖Numpy)
- 提供了多种高级数据结构:Time-Series、DataFrame、Panel
- 强大的数据索引和处理能力
4.Matplotlib
- Python 2D绘图领域使用最广泛的套件
- 基本能取代Matlab的绘图功能(散点、曲线、柱形等)
- 通过mplot3d可以绘制精美的3D图
5.Scikit-learn
- 机器学习的python模块
- 建立在scipy之上,提供了常用的机器学习算法:聚类、回归
- 简单易学的API接口
二、数学基础之矩阵运算
1.基本概念
- 矩阵:矩形的数组,即二维数组。其中向量和标量都是矩阵的特例
- 向量:是指1xn或者nx1的矩阵
- 标量:1x1的矩阵
- 数组:N维的数组,是矩阵的延伸
特殊矩阵
- 全0全1矩阵
- 单位矩阵
nxn的矩阵对角线上全为1,任何矩阵乘单位矩阵都不变
2.矩阵加减运算
- 相加,减的两个矩阵必须要有相同的行和列
- 行和列对应元素相加减
3.数组乘法(点乘)
- 对应元素的乘法
4.矩阵乘法
- A为mxp的矩阵,B为pxn的矩阵,mxn的矩阵C为A与B的乘积。
三、数组的创建与访问
1.数组的创建
import numpy as np
list_1 = [1,2,3,4]
arr_1 = np.array(list_1) # array([1, 2, 3, 4])
list_2 = [5,6,7,8]
arr_2 = np.array(list_1, list_2)
#array([[1, 2, 3, 4],
# [5, 6, 7, 8]])
arr_3 = np.zeros(5) # array([0., 0., 0., 0., 0.])
arr_4 = np.zeros([2