давайте рассмотрим пример dataframe
, как показано ниже
df = pd.DataFrame({"a":[1,2,3,4,5],"b":[2,4,9,16,25]})
, индексный метод печатает, как показано ниже
In [4]: df.index
Out[4]: RangeIndex(start=0, stop=5, step=1)
и df.index >3
, печатает, как показано ниже
In [5]: df.index>3
Out[5]: array([False, False, False, False, True])
Итак, ответ:
y = df.index>3
df['new_column'] = y.astype(int)
df
a b new_column
0 1 2 0
1 2 4 0
2 3 9 0
3 4 16 0
4 5 25 1
Редактировать: если вы хотите использовать от 3 до 9 индексов, вы делаете следующее
import numpy as np
np.logical_and(df.index>2, df.index<5)
array([False, False, False, True, True])