У меня есть два фрейма данных со следующими именами столбцов:
frame_1:
event_id, date, time, county_ID
frame_2:
countyid, state
Я хотел бы получить фрейм данных со следующими столбцами, присоединившись (слева) к county_ID = countyid
:
joined_dataframe
event_id, date, time, county, state
Я не могу понять, как это сделать, если столбцы, к которым я хочу присоединиться, не являются индексом. Какой самый простой способ? Благодаря!
right_index=True
.frame_1
уже естьcounty_ID
в индексе, иframe_2
уже вcountyid
качестве индекса? Я понимаю , что можно заменитьframe_1.reset_index()
наframe_1
(и то же самое дляframe_2
) в своем ответе. Но есть ли более эффективный способ присоединения / слияния без сброса индекса?вам нужно сделать
county_ID
индекс для правого фрейма:frame_2.join ( frame_1.set_index( [ 'county_ID' ], verify_integrity=True ), on=[ 'countyid' ], how='left' )
для вашей информации, в пандах левое соединение прерывается, когда правый фрейм имеет неуникальные значения в столбце соединения. увидеть эту ошибку .
поэтому вам необходимо проверить целостность, прежде чем присоединиться
, verify_integrity=True
источник