Если вы действительно хотите использовать drop, вы можете определить строку с помощью numpy.where ()
import pandas as pd
import numpy as np
df = pd.DataFrame()
df["A"] = [1,2,3,4,5]
A
0 1
1 2
2 3
3 4
#Remove if index bigger thans 2
df.drop(df.index[np.where(df.index > 2)[0]])
A
0 1
1 2
2 3
Но ваш метод возврата df = df[df.index < some_value]
тоже не должен быть плохим. Имейте в виду, что drop вернет измененный объект и не перезапишет старый. поэтому df = df.drop ...
необходим для замены df в любом случае.