Сравните 2 столбца кадров данных pandas и обновите соответствующие значения в новом столбце

rashmi спросил: 13 июня 2018 в 11:01 в: python-3.x

Dataframe1 =

SerialNumber|   Host    Decomstatus
-------------------------------------
CV478       |   xpap546 NA
CV479       |   xpap547 NA
CV480       |   xpap548 NA
CV481       |   xpap549 NA
CV871       |   xpap550 NA
CV872       |   xpap551 NA
CV873       |   xpap552 NA
CV874       |   xpap553 NA

Dataframe2 =

Host        Serial  Decom_Phase
tcapdb1     F4784   Complete
tcapdb2     F4785   Complete
tcaddb1     F4786   Decom
ktazd2963   F4787   Complete
ktazd2962   F4788   Complete
ktazp4272   F4789   Renew
ktazp4271   354AAG  Decom
ktazp4278   354AAG  Decom
ktazp4277   354AAG  Decom
ktazp4283   354AAG  Complete
ccapap3     354AAG  Buy
ccapap4     354AAG  Complete

Я хочу сравнить хост с файловой рамкой 2 с узлом dataframe 1, если существует, то обновить "decstatus" значением "Decom_phase" соответствующего хоста.

Может ли кто-нибудь помочь мне написать для цикла, чтобы сделать это. Я запускаю keyerror.


1 ответ

John Zwinck ответил: 13 июня 2018 в 11:18

Что-то вроде этого:

status = df1.set_index(['SerialNumber', 'Host']).Decomstatus
phase = df2.set_index(['Serial', 'Host']).Decom_Phasestatus.update(phase)
rashmi ответил: 13 июня 2018 в 11:32
n [190]: status.update (фаза) Traceback (последний последний вызов): Файл "C: \ Users \ I7 \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ multi. py", строка 2095, в reindex raise Exception (" не может обрабатывать не-уникальный мультииндекс!") Исключение: не может обрабатывать не-уникальный мультииндекс!
John Zwinck ответил: 13 июня 2018 в 04:33
@rashmi: Ваш комментарий подразумевает, что вы ожидаете, что я исправлю все ошибки для вас. Но проблема здесь в том, что ваши реальные данные неоднозначны, в то время как ваши данные примера не были. Думаю, вам нужно подумать о том, как это решить.

Дополнительное видео по вопросу: Сравните 2 столбца кадров данных pandas и обновите соответствующие значения в новом столбце

Азы работы с pandas.DataFrame на примере задачи о Титанике.

Python Pandas Tutorial | Pandas For Data Analysis | Python Pandas | Python Tutorial | Simplilearn

Python Pandas Tutorial 2: Dataframe Basics