如何比较CSV列数据

时间:2018-06-20 16:08:14

标签: python pandas csv numpy dataframe

我有一个巨大的CSV文件,其中包含2个相关列。时间和速度。数据是在开车时创建的。

现在,我想比较一下速度列的一些值,以便得出汽车是在加速还是在变慢,并将其放入新的数据帧“正在加速”。

例如:

if speed (row 1) < speed (row2) car is accelerating.

1 个答案:

答案 0 :(得分:5)

使用pd.Series.diff创建一个布尔序列:

df = pd.DataFrame({'speed': [1.41, 5.341, 10.3412, 3.341, 456.432]})

df['accelerating'] = df['speed'].diff() > 0

print(df)

      speed accelerating
0    1.4100        False
1    5.3410         True
2   10.3412         True
3    3.3410        False
4  456.4320         True

然后加速行的过滤很简单:

df_acc = df[df['accelerating']]

print(df_acc)

      speed accelerating
1    5.3410         True
2   10.3412         True
4  456.4320         True

以上是df_acc = df.loc[df['accelerating'] == True]的“可售”速记。