r = range(start, stop, step)
- шаблон для этого в Python.
Так, например, чтобы получить:
r == [0, 1, 2]
Вы бы написали:
r = [x for x in range(3)]
И чтобы получить:
r == [0, 5, 10]
Вы бы написали:
r = [x for x in range(0, 11, 5)]
Это не очень далеко, потому что:
r = [0, .2, 4.3, 6.3]
r = [x for x in r if x in range(3, 10)]
# r == []
Но вы можете сделать:
r = [0, .2, 4.3, 6.3]
r = [x for x in r if ((x > 3) & (x < 10))]
# r == [4.3, 6.3]
Панды и Нампи дают вам гораздо более краткий способ сделать это.Рассмотрим следующую демонстрацию .between
import pandas as pd
import io
text = io.StringIO("""Close Top_Barrier Bottom_Barrier
0 441.86 441.964112 426.369888
1 448.95 444.162225 425.227108
2 449.99 446.222271 424.285063
3 449.74 447.947051 423.678282
4 451.97 449.879254 423.029413""")
df = pd.read_csv(text, sep='\\s+')
df = df[df["Close"].between(449, 452)] # between
df
Так что для вашего df
вы можете сделать то же самое: df = df[df["x"].between(min, max)]