You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

快速处理变量名技巧:Python绘图模板如何实现变量一次定义全局复用

Python酒店订单取消影响因素绘图复用模板

实现逻辑

  • 核心是将可变参数抽离到代码头部的统一配置区,所有业务逻辑直接引用配置变量,实现修改一次全局生效
  • 封装通用绘图逻辑,避免重复编写冗余代码
  • 内置变量合法性校验,避免列名写错导致的运行报错

完整可运行模板代码

# 导入依赖库
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# -------------------------- 仅修改本区块内容即可切换分析变量 --------------------------
# CSV文件存储路径
CSV_PATH = "hotel_order_data.csv"
# 本次需要分析的自变量列名,更换变量仅修改此处即可
ANALYSIS_FEATURE = "lead_time"
# 取消量列名,固定不变的话无需修改
CANCEL_FEATURE = "is_canceled"
# 绘图可选配置
PLOT_TITLE = f"{ANALYSIS_FEATURE} 与订单取消量关联关系"
FIGURE_SIZE = (12, 7)
# -------------------------- 配置区块结束 --------------------------

# 1. 数据读取与校验
df = pd.read_csv(CSV_PATH)
# 校验列名合法性
if ANALYSIS_FEATURE not in df.columns:
    raise ValueError(f"指定的分析变量 {ANALYSIS_FEATURE} 不存在于CSV文件的列中,请检查列名拼写")
if CANCEL_FEATURE not in df.columns:
    raise ValueError(f"指定的取消量变量 {CANCEL_FEATURE} 不存在于CSV文件的列中,请检查列名拼写")

# 2. 通用绘图逻辑
plt.rcParams["font.sans-serif"] = ["SimHei"]  # 解决中文显示问题
plt.rcParams["axes.unicode_minus"] = False
plt.figure(figsize=FIGURE_SIZE)

# 自动适配变量类型选择绘图方式
if df[ANALYSIS_FEATURE].dtype == "object" or df[ANALYSIS_FEATURE].nunique() < 10:
    # 分类变量:绘制分组柱状图展示不同类别下的取消量占比/数量
    sns.countplot(data=df, x=ANALYSIS_FEATURE, hue=CANCEL_FEATURE)
else:
    # 连续变量:绘制箱线图展示取消/未取消订单的变量分布差异
    sns.boxplot(data=df, x=CANCEL_FEATURE, y=ANALYSIS_FEATURE)

plt.title(PLOT_TITLE)
plt.tight_layout()
plt.show()

# 如需保存图片可打开下方注释
# plt.savefig(f"{ANALYSIS_FEATURE}_cancel_analysis.png", dpi=300)

使用方法

  • 每次需要更换分析的酒店变量时,仅需要修改配置区的 ANALYSIS_FEATURE 值为CSV对应列名,直接运行代码即可生成对应图表
  • 若需要调整文件路径、图片尺寸、标题等参数,也统一在配置区修改即可
  • 可根据自己的分析需求,在绘图逻辑部分新增更多图表类型,所有用到分析变量的位置直接引用 ANALYSIS_FEATURE 变量即可,不需要再手动硬编码修改多处

内容的提问来源于stack exchange,提问作者PaulA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:45:06