In This section we will be focusing on how to Extract or keep only character values of the column in pandas and there by remove all the numeric values in the pandas column. We will be keeping only character values in the specific column and across all the column, by using multiple methods. we will be discussing all the methods as shown below.
- Extract only character values in pandas column Using extract() function
- Keep only character values in pandas column Using replace() function
- Keep only character values in pandas column Using replace() function with regular expression
- Keep only character values in pandas column Using isalpha() function
Create Dataframe
## create dataframe import pandas as pd import numpy as np #Create a DataFrame import pandas as pd import numpy as np d = { 'StudentID':['Alisa819','Bobby212','Cathrine891','Jodha982','Raghu453','Ram834'], 'Maths':[76,73,83,93,89,94], 'Science':[85,41,55,75,81,97], 'Geography':[78,65,55,88,87,98]} df = pd.DataFrame(d,columns=['StudentID','Maths','Science','Geography']) df
Dataframe
Extract only character values in a specific pandas column Using extract() function
In the below method we will be using extract() function with regular expression which will extract only character values and then converting the resultant column into string.
### Method 1 : extract() function df['StudentID'] = df['StudentID'].str.extract('([a-zA-Z]+)', expand=False) df['StudentID'] = df['StudentID'].astype('string') df
so the resultant dataframe will be.
Keep only character values in pandas column Using replace() function: Method 1
In the below method we will be using str.replace() function with regular expression which will replace digits with empty string “”. and then converting the resultant column into string.
### Method 2a : replace() function with regex() df['StudentID'] = df['StudentID'].str.replace(r'(\d+)', '') df['StudentID'] = df['StudentID'].astype('string') df
So, the resultant dataframe will be
Keep only string values in pandas column Using replace() function : Method 2
In the below method we will be using str.replace() function with regular expression which will replace non character values with empty string “”. and then converting the resultant column into string.
### Method 2b : replace() function with regex() df['StudentID'] = df['StudentID'].str.replace(r'[^a-zA-Z]+', '') df['StudentID'] = df['StudentID'].astype('string') df
So, the resultant dataframe will be
keep only character values in pandas column Using isalpha() function
In the below method we will be using isalpha() function with each element of the column with which alphabets i.e. characters are captured and joined together and the column is created and then converting the resultant column into string
### Method 3 : isalpha() function df['StudentID'] = df['StudentID'].map(lambda x: ''.join([i for i in x if i.isalpha()])) df['StudentID'] = df['StudentID'].astype('string') df
So, the resultant dataframe will be