Python не обновляет фрейм данных при переборе строк - PullRequest
0 голосов
/ 02 февраля 2019

Я не понимаю, почему python не будет обновлять мой объект dataframe: Фрагмент кода таков:

for index, row in df.iterrows():
   t = df.loc[index, :"score"]
   b = [float(i) for i in t if i != 's']
   m = sum(b)/len(b)

   df.at[index, "score"] = m

   print(df.at[index, "score"]) # Does not print out m, it prints out 0, the default value

То, что этот фрагмент должен сделать, - это получить все значения в строке, вычислитьсреднее значение, а затем добавьте это среднее к кадру данных.

1 Ответ

0 голосов
/ 02 февраля 2019

Итерации по строкам в DataFrame - это очень редко путь.Вместо этого используйте
df.loc[:, :'score'].mean('columns')
, который более удобочитаем и намного быстрее.

Чтобы ответить на ваш вопрос напрямую (почему ваш путь не работает), нам потребуется дополнительная информация (см. Комментарии).

...