Объединить столбец фрейма данных с другим фреймом данных в одном столбце с другой формой фрейма данных

У меня есть 2 фрейма данных, один с формой df1 = (1000, 2), а другой с формой df2 = (2500, 4), теперь я пытаюсь объединить их в одном общем столбце в обоих, но получаю разные ошибки при каждой попытке.

df1 has the following column:
['account_id', 'value']

df2 has the following column:
['account_id', 'price', 'customer', 'label']

Примечание: в df2 account_id может повторяться, поэтому причина (2500, 2) Здесь я хочу, чтобы df2 ['label'] был объединен с df1 на account_id

🤔 А знаете ли вы, что...
Python позволяет создавать графические приложения с использованием библиотеки PyQt.


763
1

Ответ:

Решено

Мне кажется, нужен map, если значения account_id в df2 уникальны:

df1['label'] = df1['account_id'].map(df2.set_index('account_id')['label'])

Если не уникальный:

s = df2.drop_duplicates(subset=['account_id']).set_index('account_id')['label']
df1['label'] = df1['account_id'].map(s)