使用 LLM助手进行 Python 数据可视化
在数据科学中,数据可视化是一项至关重要的任务,旨在揭示数据背后的模式和洞察,并向观众传达这些信息。然而,在编程语言(如 Python)中创建有洞察力的图表有时可能会耗时且复杂。本文介绍了一种借助 AI 助手(如 DeepSeek 大模型)来更高效地构建基于代码的数据可视化方法。通过两个实际应用场景,我们将为您提供利用 AI 工具创建吸引人的数据可视化的提示和建议。
场景一:零售月度销售趋势可视化
假设您是一名零售分析师,想要可视化公司不同产品类别的月度销售趋势,以识别季节性模式。您有一个包含过去两年各类别(如电子产品、服装和家居用品)月度销售数据的数据集。如果没有数据,可以使用以下代码生成一个可管理的数据集:
import pandas as pd
import numpy as np# 设置随机种子以确保可重复性
np.random.seed(42)# 示例月度销售数据集(24个月),添加随机性
data = {'Month': pd.date_range(start='2022-01-01', periods=24, freq='M'),'Electronics': [5000 + i * 200 + (i % 12) * 150 + np.random.randint(-500, 500) for i in range(24)],'Clothing': [7000 + i * 180 + (i % 12) * 130 + np.random.randint(-400, 400) for i in range(24)],'Home Goods': [4500 + i * 170 + (i % 12) * 100 + np.random.randint(-300, 300) for i in range(24)],
}df = pd.DataFrame(data).melt(id_vars="Month", var_name="Category", value_name="Sales")
用户提示词可能会是这样的内容:
“基于所附的数据集,创建一个基于 Python 的折线图,展示过去两年内每个产品类别(电子产品、服装、家居用品)的每月销售趋势。为每个类别使用不同的颜色以便于比较,并添加标题和图例。”
import matplotlib.pyplot as plt
import numpy as npplt.figure(figsize=(12, 6))
for category in df['Category'].unique():subset = df[df['Category'] == category]plt.plot(subset['Month'], subset['Sales'], label=category)
plt.title("Monthly Sales Trends by Category")
plt.xlabel("Month")
plt.ylabel("Sales ($)")
plt.legend(title="Product Category")
plt.grid(True)
plt.show()
执行后,可视化结果将显示出来。
场景二:按年龄组可视化患者康复率
现在,假设您是一名健康研究员,已经收集了不同年龄组的康复率数据,并希望创建一个交互式条形图来可视化和识别各组之间的差异。假设您有数据,并希望 AI 助手帮助您生成用于交互式 Plotly 可视化的必要代码。Plotly 是一个多语言可视化工具箱,非常适合为报告和仪表板构建交互式可视化。
例如,您有一个包含不同年龄组平均康复率的小数据集:
Age Group,Recovery Rate
20-24,87
25-29,82
30-34,91
35-39,88
40-44,77
45-49,73
50-54,69
55-59,65
60-64,60
65-69,58
70-74,54
75+,50
用户提示词可能如下所示:
“我有一个包含不同年龄组详细康复率数据的 CSV 文件。你能帮我创建一个交互式条形图吗?我希望每个条形在悬停时显示康复率,最高值用不同的颜色表示。请从 CSV 读取数据,并在图表中包含标记的轴和标题。”
在这种情况下,尽管用户没有明确说明,AI 助手可能会假设需要从外部 CSV 文件加载数据到 Pandas DataFrame 中,然后再进行数据可视化。您可能会得到如下代码:
import pandas as pd
import plotly.graph_objects as go# 从 CSV 加载数据(如果您更喜欢手动创建数据,请替换这部分)
df = pd.read_csv('recovery_rates.csv')# 创建交互式条形图
fig = go.Figure(data=[go.Bar(x=df['Age Group'],y=df['Recovery Rate'],marker_color=['blue' if rate < df['Recovery Rate'].max() else 'green' for rate in df['Recovery Rate']],text=df['Recovery Rate'],textposition='auto')]
)# 布局自定义
fig.update_layout(title="Patient Recovery Rates by Age Group",xaxis_title="Age Group",yaxis_title="Recovery Rate (%)",yaxis_range=[0, 100]
)# 显示交互式图表
fig.show()
执行后,您将得到一个美观的交互式图表。
总结
通过本文的两个应用场景,我们展示了如何借助 AI 助手高效地创建基于 Python 代码的交互式和吸引人的数据可视化。这些技巧无疑将加速您的数据科学项目工作流程,将自定义可视化参数的负担留给 AI 助手。希望这些方法能为您的项目带来启发!