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 Girl90  56      654654   I want the output to be in the format:
Name    Volume  Value May     23      21321 James   12      12311 Adi     11      4435 Hello   34      32454 Girl    56      654654   Want to remove all the numbers from the Name column.
Closest I have come is doing it at a cell level with the following code:
result = ''.join([i for i in df['Name'][1] if not i.isdigit()])   Any idea how to do it in a better way at the series/dataframe level.
In the regular expression \d stands for "any digit" and + stands for "one or more". Thus, str. replace('\d+', '') means: "Replace all occurring digits in the strings with nothing".
In Python, an inbuilt function sub() is present in the regex module to delete numbers from the Python string. The sub() method replaces all the existences of the given order in the string using a replacement string.
You can apply str.replace to the Name column in combination with regular expressions:
import pandas as pd  # Example DataFrame df = pd.DataFrame.from_dict({'Name'  : ['May21', 'James', 'Adi22', 'Hello', 'Girl90'],                              'Volume': [23, 12, 11, 34, 56],                              'Value' : [21321, 12311, 4435, 32454, 654654]})  df['Name'] = df['Name'].str.replace('\d+', '')  print(df)   Output:
    Name   Value  Volume 0    May   21321      23 1  James   12311      12 2    Adi    4435      11 3  Hello   32454      34 4   Girl  654654      56   In the regular expression \d stands for "any digit" and + stands for "one or more".
Thus, str.replace('\d+', '') means: "Replace all occurring digits in the strings with nothing".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With