2014-12-21 1 views
7

я хочу присоединиться к 2 dataframes и я использую intructions в руководстве Julia: http://dataframesjl.readthedocs.org/en/latest/joins_and_indexing.html?highlight=joinРегистрация на разных колонках

join(a, b, on = :ID, kind = :inner) 

Теперь, как я могу присоединиться к по столбцам с различными названиями:

  • : ИД для
  • : name_id для б

Я попытался следующие, но это не работает»

join(a, b, on = [ :ID, :name_id ], kind = :inner) 

Если не реализован, это будет хорошая особенность

ответ

2
rename!(b, "name_id", "ID") 
j = join(a, b, on = :ID, kind = :inner) 
rename!(b, "ID", name_id") 

Переименование изменяет Ь, так что здесь я изменил его обратно. (В общем случае, если в пределах фрейма переименования есть переименование, вы можете выбрать уникальное имя для каждой пары присоединенных имен, переименовать в каждый файл данных, присоединиться и переименовать обратно.)

Этот метод, очевидно, не является элегантным. Это то, что я нашел до сих пор.

+0

Я понимаю, что это фактически изменяет исходный объект 'b'? Есть ли способ установить имена на лету, похожие на R 'setNames()', который редактирует и возвращает копию? Если нет, то я думаю, что это путь. – thelatemail