如果满足特定条件,则从DataFrame中删除行

时间:2019-04-21 18:15:49

标签: python dataframe

我有一个包含飞机飞行数据的数据框。我想根据飞机的位置(例如,爬升,巡航,下降等)过滤此数据。该数据有27列,超过35万行。

如果“海拔”高于28980英尺,爬升率在-2.5 / 2.5之间,并且飞行路径角在-3.2e-3 / 3.2e-3之间,那么我要选择该行。

我正在尝试使用下面的代码。

climb = climb[(climb['Altitude (ft)'] > 28980) & (-2.5<climb['Altitude Dot (ft/s)'] <2.5) & (-3.2e-3<climb['Gamma (rad)']<3.2e-3)]

但是我收到此错误。

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

有什么建议吗?预先感谢

1 个答案:

答案 0 :(得分:0)

将第二个条件分为两个条件。

(-2.5<climb['Altitude Dot (ft/s)'] <2.5)

更改为:

(-2.5 < climb['Altitude Dot (ft/s)']) & ( climb['Altitude Dot (ft/s)'] < 2.5)