我有一个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
答案 0 :(得分:2)
您可以使用pandas.Series.between。
假设r1,r2和row为加速度,
df=df[df['acceleration'].between(m*df['speed']+q1, m*df['speed']+q2, inclusive=False)]