如何比较CSV列数据

Mic*_*lle 0 python csv numpy dataframe pandas

我有一个包含2个相关列的巨大CSV文件.时间和速度.数据是在驾驶汽车时创建的.

现在,我想比较一下速度列的某些值,以便得出汽车是否正在加速或变慢并将其置于新的数据框"加速"中.

例如:

if speed (row 1) < speed (row2) car is accelerating.
Run Code Online (Sandbox Code Playgroud)

jpp*_*jpp 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
Run Code Online (Sandbox Code Playgroud)

然后过滤加速行是微不足道的:

df_acc = df[df['accelerating']]

print(df_acc)

      speed accelerating
1    5.3410         True
2   10.3412         True
4  456.4320         True
Run Code Online (Sandbox Code Playgroud)

以上是Pandorable的简写df_acc = df.loc[df['accelerating'] == True].