замена значения столбца в фрейме данных panda

#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