I have a data frame similar to the one below:
Name Volume Value
May21 23 21321
James 12 12311
Adi22 11 4435
Hello 34 32454
Gi
Although the question sounds more general, the example input only contains trailing numbers. In this case you don't have to use regular expressions, since .rstrip (also available via the .str accessor of Series objects) can do exactly this:
import string
df['Name'] = df['Name'].str.rstrip(string.digits)
Similarly, you can use .lstrip to strip any digits from the start, or .strip to remove any digits from the start and the end of each string.