для простоты я перепишу операцию как функцию:
def func(df, x):
return df[(df['batsman_runs'].shift(1)==6)& (~df['player_dismissed'].notnull()) & (df['over'] == x)]
Теперь, чтобы легко применить ее к диапазону и получить из нее все нужные значения, вы можетеиспользовать список понимания. Учитывая, что df уже определен в следующем выполнении, все, что вам нужно сделать, это:
all_values_from_1_to_20 = [func(df,x) for x in range(1,21)]
range генерирует последовательность из [x, y), где x является нижней границей, а y верхней границей,чтобы иметь 20 внутри верхней границы, вам нужно пройти 21, так как верхняя граница не включается.