Замените строку, учитывая значение последнего символа (числа)

#python #pandas #string #replace

Вопрос:

Я начинаю с Python. Мне нужно заменить строки из «Старого» столбца на основе условия. Если первый символ строки A , мне нужно заменить его на Z , но мне также нужно добавить 1 к значению последнего символа

Например:

Старый Новое
A2 Z3
C4 C4
B4 B4
A5 Z6
A1 Z2
 df = pd.DataFrame({'Old': ['A2', 'C4', 'B4', 'A5'], 'New': ['Z3', 'C4', 'B4', 'Z6']}) df['New'] = df['Old'].str.replace('A','Z')  

Ответ №1:

Используйте пользовательскую функцию:

 df['New'] = df['Old'].apply(lambda x: x if x[0] != 'A' else f'Z{int(x[1:]) 1}') print(df)  # Output:  Old New 0 A2 Z3 1 C4 C4 2 B4 B4 3 A5 Z6  

Комментарии:

1. Отлично, изучу лямбду