Python语言:
简要概括一下Python语言在数据分析、挖掘场景中常用特性: 1、列表(可以被修改),元组(不可以被修改) 2、字典(<k,v>结构) 3、集合(同数学概念上的集合) 4、函数式编程(主要由lambda()、map()、reduce()、filter()构成)
Python数据分析常用库:
Python数据挖掘相关扩展库
NumPy
提供真正的数组,相比Python内置列表来说速度更快,NumPy也是Scipy、Matplotlib、Pandas等库的依赖库,内置函数处理数据速度是C语言级别的,因此使用中应尽量使用内置函数。 示例:NumPy基本操作
import numpy as np # 一般以np为别名
a = np.array([2, 0, 1, 5])
print(a)
print(a[:3])
print(a.min())
a.sort() # a被覆盖
print(a)
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b*b)
输出:
[2 0 1 5]
[2 0 1]
0
[0 1 2 5]
[[ 1 4 9]
[16 25 36]]
Scipy
NumPy和Scipy让Python有了MATLAB味道。Scipy依赖于NumPy,NumPy提供了多维数组功能,但只是一般的数组并不是矩阵。比如两个数组相乘时,只是对应元素相乘。Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象与函数。
Scipy包含功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解等常用计算。 示例:Scipy求解非线性方程组和数值积分
# 求解方程组
from scipy.optimize import fsolve
def f(x):
x1 = x[0]
x2 = x[1]
return [2 * x1 - x2 ** 2 - 1, x1 ** 2 - x2 - 2]
result = fsolve(f, [1, 1])
print(result)
# 积分
from scipy import integrate
def g(x): # 定义被积函数
return (1 - x ** 2) ** 0.5
pi_2, err = integrate.quad(g, -1, 1) # 输出积分结果和误差
print(pi_2 * 2, err)
输出:
[ 1.91963957 1.68501606]
3.141592653589797 1.0002356720661965e-09
Matplotlib
Python中著名的绘图库,主要用于二维绘图,也可以进行简单的三维绘图。
示例:Matplotlib绘图基本操作
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 10000) # 自变量x,10000为点的个数
y = np.sin(x) + 1 # 因变量y
z = np.cos(x ** 2) &#