我想仅绘制卡车(车辆等级= 3)后车辆(车辆等级= 2)的车辆加速度和速度(简单线图)。 我有一个DataFrame如下:
Vehicle ID Vehicle Class Lane ID Preced Veh ID Local Y Vehicle V Vehicle A
0 j 2 2 0 6.0 45.0 0.50
1 i 3 2 j 5.5 37.5 -1.60
2 h 2 2 i 4.0 39.0 1.00
3 g 2 2 h 2.8 40.0 0.67
4 f 2 2 g 1.4 42.0 0.70
5 e 1 2 f 0.4 41.0 0.50
6 d 2 1 e 5.5 43.0 0.80
7 c 3 1 d 4.0 36.0 -1.30
8 b 3 1 c 2.8 34.5 -1.00
9 a 2 1 b 1.4 40.0 0.91
我无法弄清楚只选择跟随卡车的车辆(2跟随3辆)的代码,然后绘制它们。
注意:我创建了这个文件是为了方便我编写代码,但实际上,文本文件有18列和超过一百万行。
答案 0 :(得分:0)
您可以使用shift来查看以前的车辆类:
In [11]: df['Vehicle Class'].shift()
Out[11]:
0 NaN
1 2
2 3
3 2
4 2
5 2
6 1
7 2
8 3
9 3
Name: Vehicle Class, dtype: float64
选择那些有2级但前一辆车为3级的车辆:
In [12]: df[(df['Vehicle Class'] == 2) & (df['Vehicle Class'].shift() == 3)]
Out[12]:
Vehicle ID Vehicle Class Lane ID Preced Veh ID Local Y Vehicle V Vehicle A
2 h 2 2 i 4.0 39 1.00
9 a 2 1 b 1.4 40 0.91
我不清楚你想如何绘制这个结果......