Я пытаюсь преобразовать некоторый код R (не написанный мной) в код Python для проекта. Код R использует aggregate () для суммирования, но когда я пытаюсь воспроизвести действие в Python с помощью .groupby, результат отличается. Код R выдает фрейм данных с 479000+ строками, тогда как Python выдает 489000+ строк.
Оказывается позже, я обнаружил, что R также имеет эту функцию group_by (), и при использовании на этом огромном фрейме данных результат совпадает с тем, что дает .groupby в Python
test <- df %>% group_by(A, B, C) %>%
summarise(D= sum(D, na.rm=TRUE), E= sum(E,na.rm=TRUE))
test <- aggregate(x=list(D= df$D, E= df$E), by=list(A= df$A, B= df$B, C=df$C),
FUN=function(x) sum(x, na.rm=TRUE))
test= df.groupby(['A', 'B', 'C'],as_index=False)['D', 'E'].agg('sum')
Я почти наверняка уверен, что не ошибся в кодировании, поскольку проект, над которым я работаю, делает упор на конфиденциальность, приведенные выше коды - лучшее, что я могу предоставить, извините заранее.
Очевидно, что по крайней мере один из этих подходов является неправильным, и две функции должны работать по-разному, чтобы вызвать это. Я действительно хотел бы знать разницу между ними и тем, какая функция правильна в достижении того, что мне нужно (а именно). Большое спасибо.