Plotly 和 pandas groupby

Plotly and pandas groupby

我有一个时间序列数据,如下所示:

                    col1    col2
2000-01-01 00:00:00 A       XX
2000-01-01 00:01:00 B       YY
2000-01-01 00:02:00 A       ZZ
2000-01-01 00:03:00 A       XX
2000-01-01 00:04:00 B       PP

我想要达到的目标:

  1. Groupby 来自 [col1, col2]

  2. 获取每个的大小

  3. 使用选择的 time-span 作为索引

    plotly 中绘制结果
          col1  col2
    
     A     XX      2
           ZZ      1
     B     PP      1
           YY      1
    

基本上在 plotly

中使用所选日期范围绘制此数据
  • 您试图实现的目标定义不明确。所以我假设 bar plot
  • 这是一个简单的案例,合并你想要的结果,然后是一个简单的情节
import plotly.express as px

df = pd.read_csv(io.StringIO("""                    col1    col2
2000-01-01 00:00:00  A       XX
2000-01-01 00:01:00  B       YY
2000-01-01 00:02:00  A       ZZ
2000-01-01 00:03:00  A       XX
2000-01-01 00:04:00  B       PP"""), sep="\s\s+", engine="python")

df = df.set_index(pd.to_datetime(df.index))

dfp = df.merge(
    df.groupby(["col1", "col2"]).size().reset_index().rename(columns={0: "size"}),
    on=["col1", "col2"],
).set_index(df.index)

px.bar(dfp, x=dfp.index, y="size", hover_data=["col1", "col2"])