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

如何为DataFrame中每一天的数据生成箱线图,时间戳存于普通列

适配方案

步骤1:转换时间列格式

首先将你存储时间戳的普通列转换为pandas datetime类型,假设你的时间列名为timestamp,如果实际列名不同自行替换即可:

import pandas as pd
import matplotlib.pyplot as plt

# 转换时间列格式
choosen_merged['timestamp'] = pd.to_datetime(choosen_merged['timestamp'])

步骤2:生成日期分组字段

新增一列存储精确到天的日期,作为后续分组的依据,无需修改原有索引:

# 提取日期作为分组标识
choosen_merged['date'] = choosen_merged['timestamp'].dt.date
# 如果需要自定义日期显示格式可使用下方写法
# choosen_merged['date'] = choosen_merged['timestamp'].dt.strftime('%Y-%m-%d')

步骤3:按天生成箱线图

根据你的需求二选一即可:

场景1:所有天的箱线图展示在同一张画布

ax = choosen_merged.boxplot(column=pick_column, by='date')
ax.set_title(f"Boxplot Sensor: {pick_column} {df_date}")
ax.set_ylabel(f"{a_string}")
# 移除pandas自动生成的分组顶层标题
plt.suptitle('')
plt.show()

场景2:每天单独输出一张箱线图

# 按日期分组遍历绘制
grouped = choosen_merged.groupby('date')
for day, day_df in grouped:
    ax = day_df.boxplot(column=pick_column)
    ax.set_title(f"Boxplot Sensor: {pick_column} 日期: {day}")
    ax.set_ylabel(f"{a_string}")
    plt.show()
    # 如果需要保存每张图可补充下方代码
    # plt.savefig(f'箱线图_{day}.png')
    # plt.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:48:05