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

如何为小时级时间序列DataFrame绘制月度箱线图?

解决方法

你不需要先通过groupby分组后再绘图,更简单的方式是先给DataFrame添加一个月份标识列,然后直接用seaborn的boxplot按这个列分组绘制:

步骤1:添加月份列

可以选择提取月份名称(比如"January")或者月份数字(1-12),前者可读性更强:

# 提取月份名称(如"January")
df['Month'] = df['Time'].dt.month_name()
# 或者提取月份数字(1-12)
# df['Month'] = df['Time'].dt.month

步骤2:绘制月份箱线图

用seaborn的boxplot,指定x轴为月份列,y轴为数值列X即可:

import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(data=df, x='Month', y='X')
plt.title('Monthly Distribution of X')
plt.xticks(rotation=45)  # 旋转x轴标签避免重叠
plt.show()

补充说明

如果想用月份的自然顺序绘图(避免名称按字母排序),可以提前定义月份顺序:

# 定义月份的自然顺序
month_order = ['January', 'February', 'March', 'April', 'May', 'June', 
               'July', 'August', 'September', 'October', 'November', 'December']
# 按指定顺序绘制箱线图
sns.boxplot(data=df, x='Month', y='X', order=month_order)
plt.title('Monthly Distribution of X')
plt.xticks(rotation=45)
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:58:11