Python提供了丰富的库用于数据分析和数据可视化,主要有:
1. NumPy和Pandas:
- NumPy和Pandas是Python中最流行的数据分析库。
- NumPy提供高效的数组对象和数学运算。
- Pandas提供高性能.易用的数据结构和数据分析工具。
- 用法:
import numpy as np
import pandas as pd
# NumPy数组
arr = np.array([1, 2, 3, 4, 5])
# Pandas Series
s = pd.Series([1, 2, 3, 4, 5])
# Pandas DataFrame
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': [4, 5, 6]
})
# Pandas描述统计
df.describe()
# 绘图
s.plot()
df.plot.bar()
2. Matplotlib和Seaborn:
- Matplotlib是Python最流行的数据可视化库。
- Seaborn是基于Matplotlib的高级可视化库。
- 它们可以用来绘制线图.条形图.散点图.柱状图.箱线图等。
- 用法:
import matplotlib.pyplot as plt
import seaborn as sns
# 线图
plt.plot([1, 2, 3], [4, 5, 6])
# 条形图
plt.bar([1, 2, 3], [4, 5, 6])
# 散点图
plt.scatter([1, 2, 3], [4, 5, 6])
# Seaborn 箱线图
sns.boxplot([1, 2, 3], [4, 5, 6])
# 绘图显示
plt.show()
3. SciPy:
- SciPy是一个专注于数学.科学和工程的Python库。
- 它包含诸如最优化.线性代数.积分.傅立叶变换.信号和图像处理.普通差分方程求解等功能。
- 可用于复杂的数据分析和建模。
- 用法:
from scipy.optimize import minimize
from scipy.linalg import inv, qr
from scipy.signal import argrelmax
# 函数最小化
minimize(func, x0, method='BFGS')
# 矩阵求逆和QR分解
inv(M)
qr(M)
# 寻找局部最大值的索引
argrelmax(data)