Python中如何进行数据分析和数据可视化?代码举例讲解

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)