-1

我想仅绘制那些车辆(车辆 ID)的车辆加速度和速度(简单的折线图),这些车辆是跟随卡车(车辆类别 = 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 列和超过一百万行。

4

1 回答 1

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

我不清楚你想如何绘制这个结果......

于 2013-09-11T21:07:09.600 回答