21 NumPy在数据分析中的应用 — 数据可视化

在数据分析中,数据可视化是一个至关重要的步骤。通过可视化,分析师能够更直观地理解复杂数据集,发现潜在的趋势和模式。在本节中,我们将探讨如何利用NumPy与其他可视化库(如Matplotlib和Seaborn)结合,进行有效的数据可视化。

1. 数据可视化的重要性

在数据分析过程中,原始数据往往是复杂的,而通过数据可视化,我们可以:

  • 快速识别数据中的趋势和模式。
  • 直观地展示数据特征,支持数据驱动的决策。
  • 强化与利益相关者的沟通,使他们更容易理解分析结果。

2. NumPy在数据可视化中的角色

尽管NumPy本身不专注于可视化,但它在数据处理和计算方面的强大能力为数据可视化打下了基础。NumPy可以高效地处理大规模数据集,为可视化提供合适的输入。

3. 基本的可视化示例

在这个部分,我们将使用NumPy生成一些数据,并使用Matplotlib进行可视化。例如,我们创建一个正弦波的图形。

3.1 生成数据

我们将使用NumPy生成时间序列数据,并计算相应的正弦值。

1
2
3
4
5
6
7
8
9
10
import numpy as np
import matplotlib.pyplot as plt

# 生成时间数据
t = np.linspace(0, 2 * np.pi, 100) # 在 0 到 2π 之间生成 100 个点
# 计算正弦值
sine_wave = np.sin(t)

# 输出数据
print(sine_wave)

3.2 可视化数据

接下来,我们利用Matplotlib将生成的正弦波可视化。

1
2
3
4
5
6
7
8
9
10
plt.figure(figsize=(10, 5))  # 设置画布大小
plt.plot(t, sine_wave, label='Sine Wave', color='blue') # 绘制正弦波
plt.title('Sine Wave Visualization') # 添加标题
plt.xlabel('Time (radians)') # X轴标签
plt.ylabel('Amplitude') # Y轴标签
plt.axhline(0, color='black', lw=0.5, ls='--') # 添加水平线
plt.axvline(0, color='black', lw=0.5, ls='--') # 添加垂直线
plt.legend() # 图例
plt.grid() # 网格
plt.show() # 显示图形

3.3 运行结果

运行上面的代码后,将生成一个正弦波的线性图,展示了时间与幅度之间的关系。

4. 散点图的可视化

在实际数据分析中,散点图是另一种常用的可视化方式,用于展示两个变量之间的关系。下面我们将创建一个简单的散点图。

4.1 准备数据

我们使用NumPy生成两组随机数据。

1
2
3
4
5
6
# 生成随机数据
np.random.seed(0) # 为可复现的结果设定随机种子
x = np.random.rand(100) # 生成 100 个 [0, 1) 之间的随机数
y = np.random.rand(100) # 生成另一组随机数

print(x, y) # 查看生成的数据

4.2 绘制散点图

使用Matplotlib绘制散点图,以展示两个变量之间的关系。

1
2
3
4
5
6
7
8
9
plt.figure(figsize=(10, 5))  # 设置画布大小
plt.scatter(x, y, color='red', alpha=0.5) # 绘制散点图
plt.title('Scatter Plot of Random Data') # 添加标题
plt.xlabel('X-axis') # X轴标签
plt.ylabel('Y-axis') # Y轴标签
plt.axhline(0, color='black', lw=0.5, ls='--') # 添加水平线
plt.axvline(0, color='black', lw=0.5, ls='--') # 添加垂直线
plt.grid()
plt.show() # 显示图形

运行结果将展示随机数据点的散布情况,直观展示xy之间的关系。

5. 使用Seaborn进行高级可视化

除了MatplotlibSeaborn可以提供更为丰富和美观的可视化效果,尤其是在展示数据分布方面。

5.1 示例:盒状图

盒状图用于显示数据的分布情况,包括中位数、四分位数及异常值。

1
2
3
4
5
6
7
8
9
import seaborn as sns

# 生成随机的正态分布数据
data = np.random.randn(100) # 生成 100 个随机数,正态分布

plt.figure(figsize=(10, 5)) # 设置画布大小
sns.boxplot(data=data) # 绘制盒状图
plt.title('Box Plot of Random Data') # 添加标题
plt.show() # 显示图形

运行上述代码将生成一个盒状图,展示数据的分布和异常值。

6. 小结

在本章中,我们讨论了数据可视化在数据分析中的重要性,并结合NumPy与Matplotlib、Seaborn实现了一些基础的可视化示例。通过生成的正弦波、散点图及盒状图,我们展示了如何利用NumPy为可视化提供支持。这些可视化工具能够帮助我们更好地理解数据,为后续的分析和决策提供有力的依据。

接下来,我们将在下一章中探索更复杂的数据可视化技术和实际应用。

21 NumPy在数据分析中的应用 — 数据可视化

https://zglg.work/numpy-zero/21/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

复习上节

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论