Обычно Pandas операций для индексации и выбора векторизованы, что означает, что цикл выполняется за вас.
То, что вы хотите сделать, звучит примерно так:
import pandas as pd
# fake data frame indexed by serial number.
x = pd.DataFrame(
{
'serial': [1001, 1002, 1003, 1004, 1005, 1006],
'x': [1, 2, 3, 4, 5, 6],
})
x.set_index('serial', inplace=True)
green_serials = [1002, 1004, 1006]
# select by index values
x.loc[green_serials]
# output:
# x
# serial
# 1002 2
# 1004 4
# 1006 6
Возможно, вам может пригодиться логический столбец, указывающий зеленый / не зеленый:
x['green'] = x.index.isin( green_serials )
x green
serial
1001 1 False
1002 2 True
1003 3 False
1004 4 True
1005 5 False
1006 6 True