2017-02-06 5 views
3

У меня есть две разные формы df. Один содержит слов и их частот, а другой содержит слова и их lemmas.Условно заполните столбец pandas df со значениями другого df

Первый df отображает всегда одно слово на одну частоту, второе df отображает много слов в одну лемму (несколько раз). Например:

df1:

word frequency 
    de 33504559 
    que 32700217 
    no 28263302 
    a 21978600 
    la 21249418 

и df2:

 lemma  word 
    zurullo zurullos 
    zurupeto zurupetos 
    zutano  zutana 
    zutano zutanas 
    zutano zutanos 

Я хотел бы добавить информацию лемму к df1, путем поиска каждое слово df1, сравнивая его с слова в df2, и вытаскивая лемм информацию от df2, чтобы добавить ее обратно в df1.


Есть полезные ответы на when the value is always the same in df1, но так как я хочу сделать это для каждой строки, каждый из которых содержит другое слово, я не знаю, как поступить. (Я проверил the merging and concatenating docs section но всплыл более запутанным, чем раньше ...)

В только-питона Я хотел бы использовать петлю и т.д .:

new_df = dict() 
# assuming all dfs are dicts 
for w, f in df1.items(): 
    if w in df2.keys(): 
     new_df[w] = (df2[w], f) 

был бы рад, чтобы узнать больше об этом с помощью операции панды dataframe.

ответ

1

Попробуйте это:

df1.merge(df2, how='left', on='word') 
Смежные вопросы