У меня есть два кадра данных (df1 и df2), я планирую объединить df1 и df2 на основе столбцов 'pin', 'pin1', pin2 ', которые находятся в df1 on столбец «pincode2» в df2.Несколько слияний кадра данных без замены значений
Состав:
df1 df2
ID Name pin pin1 pin2 pin3 pincode value
1 A1 1001 4521 3223 6433 1001 W1
2 A5 1002 4556 1002 O1
3 X3 4531 4341 4563 1003 X3
4 A4 4633 4633 4633 4633 1004 Z2
5 B3 5346 3452 1005 Y9
6 B4 1001 1006 G4
7 F5 6512 1007 R3
Теперь я использую следующий код для выполнения слияния в панды:
# Importing libraries
import pandas as pd
import cvs as csv
#********************************************************************#
# Importing the files
df1= pd.read_csv('/Users/one/Input/df1.csv', encoding = "ISO-8859-1")
df2= pd.read_csv('/Users/one/Input/df2.csv', encoding = "ISO-8859-1")
#*************************************************************#
# Creating a column as a flag
df1['mapping_type']= 'Unmapped'
#*************************************************************#
# Merging/Joining the two data frame
df_first_run = pd.merge(left=df1, right=df2, left_on= 'pin', right_on= 'pincode', how='left')
Как вы можете видеть, что мне нужно повторить это слияние с колонкой «pin1 '' pin2 'df1. Однако я не хочу продолжать изменять имена столбцов df2, иначе я заменю предыдущие полученные значения.
Также отображается столбец mapped_type, чтобы показать, какой столбец был отображен.
Expected Output:
ID Name pin pin1 pin2 pin3 value mapping_type
1 A1 1001 4521 3223 6433 W1 pin
2 A5 1002 4556 O2 pin
3 X3 4531 4341 4563 P3 pin3
4 A4 4633 4633 4633 4633 Q2 pin2
5 B3 5346 3452 Unmapped
6 B4 1001 W1 pin
7 F5 6512 Q2 pin2
Прежде всего позвольте мне поблагодарить вас за это, я согласен с вашим подходом и предложением выбрать первый вариант, у меня есть только два сомнения: 1. Можно ли сохранить отображение в качестве фрейма данных, чтобы экспортировать Это. 2. Могу ли я сопоставить два столбца. Скажем, «value» и «value1» –
@ user3875610 вы можете сохранить данные, просто написав 'df.to_csv ('filename.csv')'. Что касается сопоставления двух столбцов, конечно, но для чего вы хотите иметь сопоставленные столбцы? Вы должны обновить свой вопрос. – firelynx
Понял, на самом деле я думаю, что я доволен этим ответом. Спасибо за помощь –