如何打印文本文件中的选择性数据?

2024-03-28 11:58:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想绘制那些车辆(车辆ID)的车辆加速度和速度(简单的线形图),这些车辆是跟在卡车(车辆类别=3)后面的车辆(车辆类别=2)。
我有一个数据帧,如下所示:

  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列,超过一百万行。


Tags: 数据代码id绘制类别速度class加速度
1条回答
网友
1楼 · 发布于 2024-03-28 11:58:12

您可以使用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

我不清楚你想怎么画这个结果。。。

相关问题 更多 >