Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как выбрать ячейку в DataFrame pandas?

Есть такой вот фрейм:

data = {'Left': [4, 2, 9],

'Mean': [6, 7, 5],

'Right': [8, 7, 3]

}

df = pd.DataFrame(data)

Над каждым элементом в каждой строке и столбце мне нужно выполнить некоторые арифметические операции и результат записать обратно в этот же дата фрейм. Вопрос в том, как выбрать ячейку фрейма?

Думаю, что наиболее правильно будет это делать последовательно. То есть, берем сначала первый элемент первой строки (4) и проводим арифметическую операцию, потом берем второй элемент первой строки (2) и проводим арифметическую операцию и так далее.

Вопрос в том, как выбрать ячейку дата фрейма для проведения арифметической операции.

ПрограммированиеЯчейки+3
Анонимный вопрос
  · 2,7 K
Исправляю старые баги, добавляю новые  · 9 дек 2020

Выбрать конкретную ячейку в pandas можно методом loc

df.loc[1, "Mean"] = 5
  • 1 - индекс строки в датафрейме
  • "Mean" - название колонки

Если вы индексы не меняли, код заменит 7 на 5. У этого метода есть аналог iloc, который работает с порядковыми индексами.

Еще несколько способов массово изменять данные:

 # +5 ко всем элементам в Mean
 df.loc[:, "Mean"] += 5 
 # Средняя точка между 2 колонками
 df.loc[:, "Center"] = (df.loc[:, "Right"] + df.loc[:, "Left"]) / 2
 # +4 ко всем элементам
 df =+ 4

Для более сложных операций посмотрите метод apply.