Первое замечание: вам следует избегать цепной индексации.Это неоднозначно и явно не рекомендуется в документах, и вместо этого вы можете использовать pd.DataFrame.at
.Кроме того, вы можете использовать оператор +=
для увеличения значения.Таким образом, вы можете переписать как:
i = 5
a = 0
while i < 10
a += df.at[i, 'Price']
i += 1
avg = a/5
print(avg)
Тем не менее, обратите внимание, что вы можете использовать pd.DataFrame.loc
, чтобы объединить строку и индексную маркировку и дать объект pd.Series
.Затем вы можете использовать pd.Series.mean
для вычисления среднего:
avg = df.loc[5:10, 'Price'].mean()
Таким образом, вы также используете векторизованные вычисления по сравнению с использованием цикла уровня Python.