Pandas 从多索引数据帧绘制时间序列
Pandas Timeseries Plotting from Multi Index Dataframe
我有一个多索引数据框,如下所示:
col1 col2 col3
timestamp type class
1653385980729 audio dc 3 10 1
ec 5 7 2
video dc 10 18 5
ec 7 14 4
1653385981729 audio dc 4 8 4
ec 5 8 2
video dc 9 15 3
ec 9 17 6
1653385982729 audio dc 3 10 3
ec 6 8 2
video dc 11 16 6
ec 9 18 6
.
.
.
现在我正在尝试根据该数据框的列创建一些图表。不同列的每个图表将如下所示(不要介意随机值):
当我尝试通过分隔列并使用 plot()
来绘制它时,它变得一团糟。我应该如何操作数据框来实现我想要的?
第二层和第三层使用 Series.unstack
并展平 MultiIndex in columns
:
df1 = df['col1'].unstack([1,2])
df1.columns = [f'{a}/{b}' for a, b in df1.columns]
print (df1)
audio/dc audio/ec video/dc video/ec
timestamp
1653385980729 3 5 10 7
1653385981729 4 5 9 9
1653385982729 3 6 11 9
df1.plot()
我有一个多索引数据框,如下所示:
col1 col2 col3
timestamp type class
1653385980729 audio dc 3 10 1
ec 5 7 2
video dc 10 18 5
ec 7 14 4
1653385981729 audio dc 4 8 4
ec 5 8 2
video dc 9 15 3
ec 9 17 6
1653385982729 audio dc 3 10 3
ec 6 8 2
video dc 11 16 6
ec 9 18 6
.
.
.
现在我正在尝试根据该数据框的列创建一些图表。不同列的每个图表将如下所示(不要介意随机值):
当我尝试通过分隔列并使用 plot()
来绘制它时,它变得一团糟。我应该如何操作数据框来实现我想要的?
第二层和第三层使用 Series.unstack
并展平 MultiIndex in columns
:
df1 = df['col1'].unstack([1,2])
df1.columns = [f'{a}/{b}' for a, b in df1.columns]
print (df1)
audio/dc audio/ec video/dc video/ec
timestamp
1653385980729 3 5 10 7
1653385981729 4 5 9 9
1653385982729 3 6 11 9
df1.plot()