Если цифры всегда являются последней буквой, вам просто нужно использовать Series.str [-1] :
df= pd.DataFrame({'id': [1, 2, 3, 4, 5],
'text': ['T7MS1', 'T5HS2', 'T3XP1', 'Tank_3', 'TANK 5']})
df
id text
0 1 T7MS1
1 2 T5HS2
2 3 T3XP1
3 4 Tank_3
4 5 TANK 5
df['new_text'] = df.text.str[-1]
df
id text new_text
0 1 T7MS1 1
1 2 T5HS2 2
2 3 T3XP1 1
3 4 Tank_3 3
4 5 TANK 5 5
Или, если вы хотите число после MS, HSи XP, TANK и только Tank_:
df['new_text'] = df.text.str.extract(r'(?:MS|HS|XP|TANK |Tank_)(\d+)')
df
id text new_text
0 1 T7MS1 1
1 2 T5HS2 2
2 3 T3XP1 1
3 4 Tank_3 3
4 5 TANK 5 5
Вы можете заполнить нулевые значения, используя:
df['new_text'] = df['new_text'].fillna(df['text'])
id text new_text
0 1 T7MS1 1
1 2 T5HS2 2
2 3 T3XP1 1
3 4 Tank_3 3
4 5 TANK 5 5
5 6 System System