Вы близки, нужно по умолчанию RangeIndex
сравнить по 1
:
df1 = [df.index % 100 == 1]
Решение с общим индексом:
df1 = [np.arange(len(df)) % 100 == 1]
Если хотите, также опустите 1.
и101.
строк:
df2 = (df[(df.index % 100 == 1) & (df.index > 200)]
И:
a = np.arange(len(df))
df2 = df[(a % 100 == 1) & (a > 200)]
Образец :
np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(1000,3)), columns=list('ABC'))
#print (df)
a = np.arange(len(df))
df2 = df[(a % 100 == 1) & (a > 200)]
print (df2)
A B C
201 4 4 4
301 1 3 2
401 0 3 5
501 5 8 4
601 3 7 9
701 5 5 7
801 4 1 0
901 4 7 6