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
我想要达到的目标:
Groupby
来自 [col1, col2]
获取每个的大小
使用选择的 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"])
我有一个时间序列数据,如下所示:
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
我想要达到的目标:
Groupby
来自[col1, col2]
获取每个的大小
使用选择的
在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"])