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

如何格式化DataFrame并分组统计COUNT以绘制Plotly折线图?

解决方案

步骤1:统一时间列格式

先确保TIMESTAMP DATE列是datetime类型,避免分组时因格式错误导致异常:

import pandas as pd
import plotly.express as px

# 模拟你的数据结构(替换成真实数据即可)
data = {
    'ORIGEN': ['站点1', '站点1', '站点2', '站点1', '站点2', '站点2'],
    'TIMESTAMP DATE': ['2024-05-01', '2024-05-01', '2024-05-01', '2024-05-02', '2024-05-02', '2024-05-03']
}
df = pd.DataFrame(data)

# 转换时间列格式
df['TIMESTAMP DATE'] = pd.to_datetime(df['TIMESTAMP DATE'])

步骤2:分组统计计数

直接通过groupby结合size()统计每组的条目数,重置索引后得到带COUNT列的目标DataFrame:

# 按ORIGEN和时间分组,统计每组数量
grouped_df = df.groupby(['ORIGEN', 'TIMESTAMP DATE']).size().reset_index(name='COUNT')

这里用size()比count()更直观,它直接统计分组后的行数,不会过滤空值(若数据存在空值场景)。

步骤3:绘制Plotly折线图

用px.line快速生成折线图,通过color参数区分不同ORIGEN的系列:

# 生成折线图
fig = px.line(grouped_df, 
              x='TIMESTAMP DATE', 
              y='COUNT', 
              color='ORIGEN',
              markers=True,  # 显示数据点标记
              title='各ORIGEN按时间的计数趋势')
fig.show()

补全缺失日期(可选)

如果部分日期下某个ORIGEN没有数据导致折线断裂,可以用重采样补全缺失值:

# 按ORIGEN分组后,补全每日数据,缺失计数填0
grouped_df = grouped_df.set_index('TIMESTAMP DATE').groupby('ORIGEN').resample('D').asfreq()['COUNT'].fillna(0).reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:39:55