Объединение pandas данных по именам столбцов
У меня есть два фрейма данных со следующими именами столбцов:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Я хотел бы получить фреймворк данных со следующими столбцами, соединяя (слева) на county_ID = countyid
:
joined_dataframe
event_id, date, time, county, state
Я не могу понять, как это сделать, если столбцы, по которым я хочу присоединиться, не являются индексом. Какой самый простой способ? Спасибо!
Ответы
Ответ 1
вы можете использовать опции left_on и right_on следующим образом:
pd.merge(frame_1, frame_2, left_on = 'county_ID', right_on = 'countyid')
Я не был уверен в вопросе, если вы только хотели объединиться, если ключ находился в левом поле данных. Если это так, то это сделает следующее (вышеупомянутое, по сути дела, приведет к слиянию многих и многих)
pd.merge(frame_1, frame_2, how = 'left', left_on = 'county_ID', right_on = 'countyid')
Ответ 2
вам нужно сделать county_ID
в качестве индекса для правильного кадра:
frame_2.join ( frame_1.set_index( [ 'county_ID' ], verify_integrity=True ),
on=[ 'countyid' ], how='left' )
для вашей информации, в pandas левые перерывы соединения, когда правый фрейм имеет уникальные значения в столбце соединения. эту ошибку .
поэтому вам нужно проверить целостность перед присоединением , verify_integrity=True