Pandas: Extract only non alphanumeric characters from the specified column of a given DataFrame
Write a Pandas program to extract only non alphanumeric characters from the specified column of a given DataFrame.
Sample Solution:
Python Code :
import pandas as pd
import re as re
pd.set_option('display.max_columns', 10)
df = pd.DataFrame({
'company_code': ['c0001#','c00@0^2','$c0003', 'c0003', '&c0004'],
'year': ['year 1800','year 1700','year 2300', 'year 1900', 'year 2200']
})
print("Original DataFrame:")
print(df)
def find_nonalpha(text):
result = re.findall("[^A-Za-z0-9 ]",text)
return result
df['nonalpha']=df['company_code'].apply(lambda x: find_nonalpha(x))
print("\Extracting only non alphanumeric characters from company_code:")
print(df)
Sample Output:
Original DataFrame: company_code year 0 c0001# year 1800 1 c00@0^2 year 1700 2 $c0003 year 2300 3 c0003 year 1900 4 &c0004 year 2200 \Extracting only non alphanumeric characters from company_code: company_code year nonalpha 0 c0001# year 1800 [#] 1 c00@0^2 year 1700 [@, ^] 2 $c0003 year 2300 [$] 3 c0003 year 1900 [] 4 &c0004 year 2200 [&]
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous:Write a Pandas program to extract year between 1800 to 2200 from the specified column of a given DataFrame.
Next: Write a Pandas program to extract only punctuations from the specified column of a given DataFrame.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics