我有以下时间序列数据框架:
Date ID Value Max Min Mean
------------------------------------------------------------------
0 2018-11-14 11:30 1 43 45 13 38
1 2018-11-14 11:31 1 43 45 13 38
2 2018-11-14 11:32 1 44 45 13 38
3 2018-11-14 11:33 1 43 45 13 38
...
134 2018-11-14 12:22 2 44 55 24 39
135 2018-11-14 12:23 2 46 55 24 39
136 2018-11-14 12:24 2 49 55 24 39
137 2018-11-14 12:25 2 51 55 24 39
...
245 2019-11-14 14:11 3 44 46 35 40
246 2019-11-14 14:12 3 42 46 35 40
247 2019-11-14 14:13 3 39 46 35 40
248 2019-11-12 14:14 3 39 46 35 40
...
356 2019-11-14 15:19 4 37 44 32 42
357 2019-11-14 15:20 4 37 44 32 42
358 2019-11-14 15:21 4 36 44 32 42
359 2019-11-14 15:22 4 40 44 32 42
...因此,这个数据框架包含时间序列数据,但是每个时间序列数据子集都归因于不同的"ID“。因此,ID1有一个时间序列曲线,ID2有一个单独的时间序列曲线,然后是ID3,等等。正如您所看到的,时间序列ID一个接一个地出现,这意味着第一个时间序列ID1发生,然后时间序列ID2发生,然后是ID3,它们从不重叠。然后,对于每个时间序列ID,我详细描述了整个特定曲线的最大值、最小值和平均值。因此,虽然每个时间戳都有一个唯一的“值”,但每个时间戳具有相同的最大值、最小值和定义整个特定曲线的均值。
我使用以下代码绘制此数据框架:
df_grouped = df.drop(columns = ['Value'])
df2 = df_grouped.groupby(by='ID').plot(kind='line',y='Value', rot=90)具体来说,这个循环遍历我的数据帧,并为每个时间序列ID创建一个单独的图,并绘制"Value“值。现在这个传说只写着“价值”。我想要做的是,在传说中,还打印了Min,Max,以及特定曲线的平均值。例如,假设对于这个dataframe,只有4个时间序列ID。因此,我会产生4个不同的情节,每一个都有一个特殊的曲线,对应的Min,Max,和每一个图的平均值。因此,第一幅图,应该是ID1的时间序列曲线,其中"Max: 45","Min: 13","Min: 38“和"Value”一起显示在图例中,然后下一个图将显示ID2的时间序列曲线,其中"Max: 55","Min: 24",“Min: 39”与"Value“一起显示在图例中。如何在python中做到这一点?我对如何实际获得数据帧值以显示在绘图图中感到困惑,因为它们实际上需要从数据框架中引用。
发布于 2022-01-19 05:31:16
字符串格式是将数字包含到字符串中的一种很好的方法。然后,您可以使用该字符串作为您的传奇标签。
有点像label='Max: {:d}'.format(max_value)。其中,{:d}表示在这里的字符串中放置一个整数,并从format的参数(在本例中为max_value )读取整数的值。
https://stackoverflow.com/questions/70765640
复制相似问题