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)
使用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].