2015-11-02 3 views
2

у меня есть 2 dataframe, как показано ниже:панды объединить dataframe на основе того же значения в столбцах

student_name student_id 
1 may   0000 
2 june   1111 
3 july   2222 

    member_id member_name school_name 
1 A0  april  MIT 
2 B0  may   NIT 
3 C0  june  LIT 

я хочу присоединиться к 2 dataframe таким образом, чтобы произвести результат, как показано ниже.

student_name student_id member_id member_name school_name 
may   0000  B0  may   NIT 
june   1111  C0  june  LIT 

Я думаю, что в sql way where student_name = member_name. но я вряд ли могу это сделать в пандах.

У меня есть попытка объединения pandas, которая может основываться на одной колонке с именем. Можете ли вы научить меня простой метод для получения требуемых результатов.

спасибо.

ответ

7

merge Использование и передать столбцы слиться в течение left_param и right_param соответственно:

In [27]: 
df.merge(df1, left_on='student_name', right_on='member_name') 

Out[27]: 
    student_name student_id member_id member_name school_name 
0   may   0  B0   may   NIT 
1   june  1111  C0  june   LIT 
+0

большое спасибо. – pinky

+0

Как это сделать, если мне нужно только указать имя_компьютера? Я google-ing детализация pandas, но если u может просветить меня больше. Спасибо. student_name student_id school_name – pinky

+0

Просто подвыбор из объединенного df: 'merged ['student_name', 'student_id', 'school_name']' – EdChum

Смежные вопросы