Как изменить строковые значения в столбце, сохранив его часть?

#python #python-3.x #dataframe #rename

Вопрос:

У меня есть фрейм данных:

   id                 value
4_french:k_15          10
87_nov:k_82            82
11_nov:k_10            10
1_italian:k_11         9
 

Я хочу переименовать значения в идентификаторе столбца, которые nov:k_ дают им новый идентификатор k_10 или k_82 поэтому желаемый результат должен быть:

   id                 value
4_french:k_15          10
k_82                   82
k_10                   10
1_italian:k_11         9
 

Как это сделать? Я знаю о str.replace() том, но как сохранить номер в конце?

Ответ №1:

Как вы упомянули, вы можете использовать str.replace следующее:

 df["id"] = df["id"].str.replace("^. _nov:", "", regex=True)
print(df)
 

Выход

                id  value
0   4_french:k_15     10
1            k_82     82
2            k_10     10
3  1_italian:k_11      9
 

Шаблон "^. _nov:" удалит все, что угодно, от начала строки до "_nov:" (включено).