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