Я начал писать это до ответа @Brad Solomon. Он короче, но этот подход показывает некоторую встроенную обработку регулярных выражений в Pandas.
import pandas as pd
df = pd.DataFrame([
"7",
"D-25",
"K110",
"NO7",
"NO-8"
], columns=["original",])
df["suffix"] = df["original"].str.extract("(\D+)").str.replace("-","")
df["character"] = df["original"].str.extract("(\d+)")
Это дает вам DataFrame, как это:
original suffix character
0 7 NaN 7
1 D-25 D- 25
2 K110 K 110
3 NO7 NO 7
4 NO-8 NO- 8