#python #pandas #dataframe
Вопрос:
У меня есть фрейм данных в panda, который имеет такие значения
Id ExternalID class Unit Description
0 XYZ 67709 bara old values
1 ABC 5121 0204 °C 0 values added
и у меня есть csv-файл, в котором есть сопоставление идентификаторов с новыми идентификаторами, которые необходимо заменить в приведенном выше фрейме данных
Мой csv-файл :
Id NewId
XYZ OSS_XYZ
ABC POW_ABC_A
Как я могу обновить свой фрейм данных, чтобы столбец Id в фрейме данных был заменен столбцами NewId в моем csv-файле с правильным отображением? например, после сопоставления мой фрейм данных должен быть таким
Id ExternalID class Unit Description
0 OSS_XYZ 67709 bara old values
1 POW_ABC_A 5121 0204 °C 0 values added
Ответ №1:
Используйте метод замены.
df2 = pd.read_csv('mydata.csv') # read the csv
old = df2['Id'].tolist() # the old IDs you want to replace
new = df2['NewId'].tolist() # the new IDs to replace them with
df['Id'].replace(to_replace=old, value=new, inplace=True) # replace
print(df) # view them