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

如何绘制月度候选人流失率趋势图以分析季节性波动

解决按年份区分的月度候选人流失率趋势可视化问题

核心问题分析

  • 你的Candidate_%列被错误标注为datetime64[ns]类型,这会导致绘图时无法正确识别为数值型Y轴数据
  • 直接用完整Date列做X轴会混同年月,无法单独对比各年份的月度趋势

分步解决方案

1. 修正数据类型

先将Candidate_%列转换为数值类型(根据实际存储格式调整代码):

# 若为带%的字符串格式,先去除符号再转浮点数
df['Candidate_%'] = df['Candidate_%'].str.replace('%', '').astype(float)
# 若为误存为datetime的数值,先转字符串再转浮点数
# df['Candidate_%'] = df['Candidate_%'].dt.strftime('%Y%m%d').astype(float)

2. 提取月份和年份字段

从Date列中拆分出用于分组和展示的维度字段:

df['Month'] = df['Date'].dt.month  # 提取1-12的月份数字
df['Year'] = df['Date'].dt.year    # 提取年份(如2022、2023)

3. 绘制按年份区分的月度趋势图

使用seaborn生成目标可视化图表:

import seaborn as sns
import matplotlib.pyplot as plt

plt.figure(figsize=(10,6))
sns.lineplot(x='Month', y='Candidate_%', data=df, hue='Year', marker='o')
plt.xlabel('月份')
plt.ylabel('候选人流失率(%)')
plt.title('各年份月度候选人流失率趋势')
plt.xticks(range(1,13))  # 强制显示1-12月完整刻度
plt.legend(title='年份')
plt.show()

效果说明

  • X轴固定显示1-12月,可清晰对比不同年份同一月份的流失率差异
  • 不同颜色线条区分各年份,能直观捕捉季节性波动规律(如特定月份流失率普遍偏高)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:47:06