У меня есть два кадра данных, как показано ниже:
import pandas as pd
d={'PART_NO': ['J661-03982','661-08913', '922-8972','661-00352','661-06291'], 'PART_NO_ENCODED': [541,1273,1110,1575,295]}
suggest = pd.DataFrame(data=d)
и
d={'A': [1161,224, 505,1033,812], 'B': [957,417,440,588,910],'C':[392,167,97,70,703],'D':[187,2021,3437,2416,2117],'PART_NO':[541,1273,1110,1575,295]}
result = pd.DataFrame(data=d)
Я хочу заменить PART_NO
во фрейме данных результата на PART_NO
предложенного фрейма данных. Я делаю следующее:
df4 = result.replace(suggest.set_index('PART_NO_ENCODED').to_dict()['PART_NO'])
df4 = df4[result.isin(suggest['PART_NO_ENCODED'].tolist())]
Однако проблема в том, что это заменяет значения для PART_NO
, но делает все остальные столбцы NaN
. Как решить эту проблему, если я хочу, чтобы значения других столбцов оставались неизменными, и только PART_NO
должен быть заменен на PART_NO
from предложить?
Полученный фрейм данных должен выглядеть следующим образом:
d={'A': [1161,224, 505,1033,812], 'B': [957,417,440,588,910],'C':[392,167,97,70,703],'D':[187,2021,3437,2416,2117],'PART_NO':['J661-03982','661-08913', '922-8972','661-00352','661-06291']}
result = pd.DataFrame(data=d)