Я пытаюсь сделать, по-видимому, простую операцию в Python:Панда: сумма, если значения столбцов совпадает
У меня есть несколько наборов данных, скажем, 6, и я хочу суммировать значения одного столбца, если значения из двух других столбцов совпадает. После этого я хочу разделить значения столбца, который был суммирован количеством наборов данных, которые у меня есть, в этом случае 6 (т. Е. Вычислить среднее арифметическое). Также я хочу суммировать 0, если значения других столбцов не совпадают.
я записываю здесь два dataframes, как пример:
Code1 Code2 Distance 0 15.0 15.0 2 1 15.0 60.0 3 2 15.0 69.0 2 3 15.0 434.0 1 4 15.0 842.0 0
Code1 Code2 Distance 0 14.0 15.0 4 1 14.0 60.0 7 2 15.0 15.0 0 3 15.0 60.0 1 4 15.0 69.0 9
Первый столбец является df.index. Затем я хочу суммировать столбец «Расстояние», только если столбцы «Code1» и «Code2» совпадают. В этом случае желаемый результат будет что-то вроде:
Code1 Code2 Distance 0 14.0 15.0 2 1 14.0 60.0 3.5 2 15.0 15.0 1 3 15.0 60.0 2 4 15.0 69.0 5.5 5 15.0 434.0 0.5 6 15.0 842.0 0
Я пытался сделать это с помощью условного, но для более чем два ФРА действительно трудно сделать. Есть ли какой-нибудь метод в Pandas, чтобы сделать это быстрее?
Любая помощь будет оценена :-)
Может ваш '' Code1' и Code2' быть одинаковыми в одном dataframe? –
Я не уверен, что понимаю, вы хотите добавить значения Colour Distance, если Code1 и Code2 совпадают между собой? между df? независимый от индекса? Кроме того, если у вас есть N DataFrames с одинаковыми столбцами, почему вы не можете просто сделать большой df со всеми данными и использовать что-то вроде суммы col, где условие? – nico
@ АнтонПротопопов, да, может быть таким же. –