—— 图表为刃,洞察先行!综合运用 Pandas、Matplotlib 与 Seaborn,点亮数据价值
本篇通过一个完整的案例实战,体验如何将数据分析与数据可视化紧密结合,让冰冷的数据转化为生动、直观、富有洞察力的视觉故事!
案例目标:
本篇博客将延续我们在第 17 篇案例中使用的模拟电商销售数据,利用 Matplotlib 和 Seaborn 对经过 Pandas 处理和分析的数据进行可视化呈现。我们的目标是:
为什么需要可视化实战?
在本案例中,我们将重点运用 Matplotlib 和 Seaborn,并结合 Pandas 的数据处理能力,一步步将分析结果转化为有意义的图表。 准备好,让我们一起用代码和图表,让这份电商销售数据“活”起来!
我们首先需要重新加载或准备在第 17 篇案例中处理得到的合并后的 DataFrame df_merged
。为了让本篇博客可以独立运行,我们在此处重新执行数据准备和合并的关键步骤。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 设置 Seaborn 样式 (可选,让图表更好看)
sns.set_theme(style="whitegrid", palette="pastel")
# --- 重新创建模拟数据 ---
# 订单数据
orders_data = {
'OrderID': ['O001', 'O002', 'O003', 'O004', 'O005', 'O006', 'O007', 'O008', 'O009', 'O010'],
'CustomerID': ['C001', 'C002', 'C001', 'C003', 'C002', 'C004', 'C001', 'C003', 'C002', 'C005'],
'ProductID': ['P001', 'P002', 'P003', 'P001', 'P004', 'P002', 'P001', 'P005', 'P002', 'P003'],
'OrderDate': ['2023-10-01', '2023-10-01', '2023-10-02', '2023-10-02', '2023-10-03', '2023-10-03', '2023-10-04', '2023-10-04', '2023-10-05', '2023-10-05'],
'Quantity': [2, 1, 1, 3, 2, 1, 4, 1, 2, 1],
'Status': ['Completed', 'Completed', 'Shipped', 'Completed', 'Completed', 'Shipped', 'Completed', 'Completed', 'Completed', 'Cancelled']
}
orders = pd.DataFrame(orders_data)
# 客户数据
customers_data = {
'CustomerID': ['C001', 'C002', 'C003', 'C004', 'C006'],
'CustomerName': ['Alice', 'Bob', 'Charlie', 'David', 'George'],
'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu'],
'Age': [25