我有以下的pandas数据框:
time Group blocks
0 1 A 4
1 2 A 7
2 3 A 12
3 4 A 17
4 5 A 21
5 6 A 26
6 7 A 33
7 8 A 39
8 9 A 48
9 10 A 59
.... .... ....
36 35 A 231
37 1 B 1
38 2 B 1.5
39 3 B 3
40 4 B 5
41 5 B 6
.... .... ....
911 35 Z 349
这是一个包含多个时间序列的数据帧,范围从min=1
到max=35
。每个Group
都有类似下面这样的时间序列。
我想绘制每个单独的时间序列A到Z,对应x轴从1到35。y轴将是每个时间点的blocks
。
我考虑使用像Andrews曲线图这样的东西,它会将每个系列相互绘制。每个“hue”将设置为不同的组。(欢迎其他想法)
我的问题:如何格式化此数据帧以绘制多个时间序列?应该将列命名为GroupA
,GroupB
等吗?
如何将数据帧格式化为以下格式:
time GroupA blocksA GroupsB blocksB GroupsC blocksC....
这是否是正确的 Andrews 图格式?
编辑
如果我尝试:
df.groupby('Group').plot(legend=False)
x轴完全不正确。所有时间序列应以0到35绘制,全部在一个序列中。
我该如何解决?
andrews_curves
函数,您需要标记要分组的值。尝试使用andrews_curves(df, 'Group')
按列Group
进行分组。 - Serenityax=plt.gca(); ax_set_xlim(1,35)
- Serenity