Подтвердить что ты не робот

Объединение pandas данных по именам столбцов

У меня есть два фрейма данных со следующими именами столбцов:

frame_1:
event_id, date, time, county_ID

frame_2:
countyid, state

Я хотел бы получить фреймворк данных со следующими столбцами, соединяя (слева) на county_ID = countyid:

joined_dataframe
event_id, date, time, county, state

Я не могу понять, как это сделать, если столбцы, по которым я хочу присоединиться, не являются индексом. Какой самый простой способ? Спасибо!

4b9b3361

Ответ 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