Есть такой вот фрейм:
data = {'Left': [4, 2, 9],
'Mean': [6, 7, 5],
'Right': [8, 7, 3]
}
df = pd.DataFrame(data)
Над каждым элементом в каждой строке и столбце мне нужно выполнить некоторые арифметические операции и результат записать обратно в этот же дата фрейм. Вопрос в том, как выбрать ячейку фрейма?
Думаю, что наиболее правильно будет это делать последовательно. То есть, берем сначала первый элемент первой строки (4) и проводим арифметическую операцию, потом берем второй элемент первой строки (2) и проводим арифметическую операцию и так далее.
Вопрос в том, как выбрать ячейку дата фрейма для проведения арифметической операции.
Выбрать конкретную ячейку в pandas можно методом loc
df.loc[1, "Mean"] = 5
Если вы индексы не меняли, код заменит 7 на 5. У этого метода есть аналог iloc, который работает с порядковыми индексами.
Еще несколько способов массово изменять данные:
# +5 ко всем элементам в Mean
df.loc[:, "Mean"] += 5
# Средняя точка между 2 колонками
df.loc[:, "Center"] = (df.loc[:, "Right"] + df.loc[:, "Left"]) / 2
# +4 ко всем элементам
df =+ 4
Для более сложных операций посмотрите метод apply.