Мутировать DataFrames в Юлии - PullRequest
       5

Мутировать DataFrames в Юлии

3 голосов
/ 06 января 2020

Ищу функцию, которая работает как by, но не разрушает мой DataFrame. В РИ использовал бы dplyr х groupby(b) %>% mutate(x1 = sum(a)). Я не хочу терять информацию из таблицы, такую ​​как в переменной :c.

mydf = DataFrame(a = 1:4, b = repeat(1:2,2), c=4:-1:1)
bypreserve(mydf, :b,  x -> sum(x.a))
│ Row │ a     │ b     │ c     │ x1
│     │ Int64 │ Int64 │ Int64 │Int64 
├─────┼───────┼───────┼───────┤───────
│ 1   │ 1     │ 1     │ 4     │ 4
│ 2   │ 2     │ 2     │ 3     │ 6
│ 3   │ 3     │ 1     │ 2     │ 4
│ 4   │ 4     │ 2     │ 1     │ 6

1 Ответ

4 голосов
/ 06 января 2020

Обсуждается добавление этой функциональности, но я бы сказал, что доставка займет несколько месяцев (общая идея - разрешить select иметь groupby аргумент ключевого слова + также добавить функцию transform, которая будет работать как select, но сохранить столбцы исходного кадра данных).

На данный момент решение заключается в использовании join после by:

join(mydf, by(mydf, :b, x1 = :a => sum), on=:b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...