У меня есть датафрейм с 2 полями, включая «имя» и «команда» с именем «df1». Я хочу добавить дополнительный столбец с именем «user_id», основанный на user_id каждого человека, который можно найти в отдельном кадре данных, основанном на «команде» этого человека.
Значения "user_id" можно найти в других информационных кадрах, которые разделены полем команды, с именами "df_a", "df_b", "df_c" ... и т. Д. Каждый из этих информационных кадров содержит те же три поля (" name "," team "и" user_id "), но каждый из них содержит только имена из этой команды, и каждый из этих фреймов данных завершен (ни в одном столбце не найдено NaN).
Мне было интересно, каким самым питоническим способом было добавить столбец "user_id" в df1, используя данные из моих командных фреймов (может быть много командных фреймов, но каждый из них относительно небольшой). До сих пор я пробовал циклически проходить через каждый фрейм данных команды и объединять их в df1 на основе поля «name», используя внутреннее и левое слияния, но в результате вывод либо пропускает строки из исходного фрейма, либо выводит много «user_id_x», « user_id_y "столбцы, заполненные NaNs.
Пример кадра данных:
df1:
name team
0 john doe a
2 jane doe b
3 amy doe b
4 jane smith c
5 john johnson c
df_a:
name team user_id
0 john doe a 15368
1 john smith a 15382
2 sally smith a 15212
df_b:
name team user_id
0 jane doe b 6325
1 amy doe b 6164
2 sally doe b 6294
df_c:
name team user_id
0 steve doe c 52956
1 jane smith c 83635
2 john johnson c 54871
Это мой желаемый результат после получения значений user_id из каждого фрейма данных команды:
name team user_id
0 john doe a 15368
2 jane doe b 6325
3 amy doe b 6164
4 jane smith c 83635
5 john johnson c 54871
Дайте мне знать, если есть что-то, что я могу уточнить, и спасибо заранее!