Учитывая следующие кадры данных:Python Панды Регистрация: Если один столбец не работает, попробуйте Другие
import pandas as pd
df1 = pd.DataFrame({'Last':['Smith','Jones','Johnson'], 'First': ['Tom', 'Jim', 'Neil'], 'DOB':['1/1/2010', '3/1/2012', '4/3/2011'], 'ID': [1,2,3]})
df1
DOB First ID Last
0 1/1/2010 Tom 1 Smith
1 3/1/2012 Jim 2 Jones
2 4/3/2011 Neil 3 Johnson
df2 = pd.DataFrame({'Last':['S','J','Johnson'], 'First': ['T', 'J', 'Neil'], 'DOB':['1/1/2010', '3/1/2012', '4/3/2011'],'ID': [1,2,5]})
df2
DOB First ID Last
0 1/1/2010 T 1 S
1 3/1/2012 J 2 J
2 4/3/2011 Neil5 Johnson
Я хотел бы присоединиться (слияние) их в панд следующим образом:
Попробуйте объединить на ID = ID
Где матчи не существует (т.е. для Neil Johnson),
a. Объединить фамилия, имя, DOB = Фамилия, Имя, DOB
Спасибо! Я предполагаю, что если я хочу продолжать присоединяться к другим столбцам, если есть некоторые, которые не совпадают в Last, First, DOB, я бы продолжил шаблон выше (т.е. df5 = pd.merge (df1.drop (df4.index)), df3.drop (df4.index), on = [следующий столбец (ы) для использования для присоединения])? Что, если в следующий раз я хотел сопоставить идентификатор в df1 и новый столбец (не показано выше), называемый «ID2 "в df2? –
Я наконец сел и понял ответ на мой следующий вопрос: df5 = pd.merge (df1.drop (df3.index & df4.index), df2.drop (df3.index & df4.index), left_on = 'ID', right_on = 'ID2') –
Еще один вопрос: каким образом панды соответствуют индексам? –