在两条线之间寻找点

时间:2019-04-23 16:19:52

标签: python pandas

我有一个2列1000行的pandas数据框。第一列报告一些速度值,而后列报告一些加速度值。

我在“速度”与“加速度”图表中表示了这些点。

现在我只想绘制两条平行线 r1 r2 之间的点。

哪一种是满足条件的熊猫数据框值的最佳过滤方法,该值在 r1 r2 之间?

这是我的代码:

import pandas as pd

#constants
m = -1
q1 = 10
q2 = 1 

df = pd.read_csv('my_file.csv', delimiter=';')
r1 = m*df['speed'] + q1
r2 = m*df['speed'] + q2

我只想保留满足条件的数据框df的行:

r1 <行

因此,我将得到一个数据框,其中包含两行之间的点。 哪种是过滤df

的最佳方法

谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用pandas.Series.between

假设r1,r2和row为加速度,

df=df[df['acceleration'].between(m*df['speed']+q1, m*df['speed']+q2, inclusive=False)]