Pandas: Extract only punctuations from the specified column of a given DataFrame
Write a Pandas program to extract only punctuations 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.','c000,2','c0003', 'c0003#', 'c0004,'],
'year': ['year 1800','year 1700','year 2300', 'year 1900', 'year 2200']
})
print("Original DataFrame:")
print(df)
def find_punctuations(text):
result = re.findall(r'[!"\$%&\'()*+,\-.\/:;=#@?\[\\\]^_`{|}~]*', text)
string="".join(result)
return list(string)
df['nonalpha']=df['company_code'].apply(lambda x: find_punctuations(x))
print("\nExtracting punctuation:")
print(df)
Sample Output:
Original DataFrame: company_code year 0 c0001. year 1800 1 c000,2 year 1700 2 c0003 year 2300 3 c0003# year 1900 4 c0004, year 2200 Extracting punctuation: company_code year nonalpha 0 c0001. year 1800 [.] 1 c000,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 only non alphanumeric characters from the specified column of a given DataFrame.
Next: Write a Pandas program to remove repetitive characters 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