Сравнение данных из двух таблиц Excel, где имена столбцов различны

У меня есть две таблицы Excel, помещенные в рамку данных Pandas.

Пример:

1.csv EmployeeID | DOB | Age A | 12/11/1978 | 2 B | 12/09/1988 | 8 C | 12/02/1985 | 20 D | 11/11/1990 | 25 2.csv MemberIdentifier| DateofBirth| YOW A | 12/11/1978 | 2 B | 12/09/1988 | 8 C | 12/02/1985 | 20 result.csv EmployeeID | MemberIdentifier | DOB |DateofBirth| Exp | YOW A | A | 12/11/1978 | 12/11/1978| 2 | 2 B | B | 12/09/1988 | 12/09/1988| 8 | 8 C | C | 12/02/1985 | 12/02/1985| 20 | 20 D | NA | NA | NA | NA | NA 

Теперь, как получить результат, который сравнивает оба листа на основе данных не по именам столбцов, потому что имена столбцов могут быть чем угодно.

Любой намек намека или представление о том, как начать, будет здорово !!

Вам нужны параметры left_on и right_on в merge с левым соединением:

 df = pd.merge(df1, df2, left_on='EmployeeID', right_on='MemberIdentifier', how='left') print (df) EmployeeID DOB Age MemberIdentifier DateofBirth YOW 0 A 12/11/1978 2 A 12/11/1978 2.0 1 B 12/09/1988 8 B 12/09/1988 8.0 2 C 12/02/1985 20 C 12/02/1985 20.0 3 D 11/11/1990 25 NaN NaN NaN 

Если нужны столбцы соответствия в двух DataFrames используйте:

 d = {} for col2 in df2.columns: for col1 in df1.columns: cond = df2[col2].isin(df1[col1]).all() if cond: d[col2] = col1 print (d) {'MemberIdentifier': 'EmployeeID', 'DateofBirth': 'DOB', 'YOW': 'Age'} 

Наконец, вы можете переименовать столбцы в dict :

 df2 = df2.rename(columns=d) print (df2) EmployeeID DOB Age 0 A 12/11/1978 2 1 B 12/09/1988 8 2 C 12/02/1985 20 
  • Сравните столбцы с разными файлами excel и добавьте столбец в начале каждого с выходом
  • Экспортируйте многие небольшие DataFrames на один рабочий лист Excel
  • python pandas: вручную записывать в тот же Excel после экспорта фрейма данных
  • Загрузить файл xlsx с диска в коллективной лаборатории
  • Pandas to_excel развращает '='
  • Прокрутка через папку для слияния нескольких листов Excel в один столбец
  • Фиксация дат в кадре данных панд
  • Чтение нескольких файлов в пандах
  • Пишите pandas df в файл excel с помощью xlsxwriter?
  • Python / Pandas: Цитирование по списку чисел
  • Сравнение данных в 2 отдельных DataFrames и получение результата в Python / Pandas
  • Interesting Posts

    Использование Mid и IF вместе: Что делать, если у меня есть несколько переменных в моем логическом тесте?

    Очистить CheckBoxes в конкретных столбцах

    Считайте уникальные отличительные значения, если условие истинно

    преобразование файла excel в pdf с возвратным файлом phpexcel

    Создайте настраиваемую панель задач Excel 2007 или 2010 с помощью VBA

    Excel VBA: использование переменной в качестве имени таблицы

    Проверка Excel: именованный диапазон или пользовательский ввод – сбои

    PivotCaches.create с SourceData, превышающим 65535 строк.

    Находит ячейки на нескольких условиях и разрезает их на другой лист (упрощенно)

    Выберите CheckBox с другого листа

    Использование текстового объекта для замены вкладки пробелами и удаления символов

    Кнопка ленты не открывается исходный макрофайл

    Хранение неструктурированных данных Excel от разных клиентов в базе данных

    макрос, который автоматически выполняется при открытии листа

    Как я могу прочитать строки файла csv или xls Excel в приложении ASP.NET из удаленного места с помощью C #?

    Давайте будем гением компьютера.