w3resource

Pandas: Extract only phone number from the specified column of a given DataFrame


28. Extract Phone Numbers from Column

Write a Pandas program to extract only phone number 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','c0002','c0003', 'c0003', 'c0004'],
    'company_phone_no': ['Company1-Phone no. 4695168357','Company2-Phone no. 8088729013','Company3-Phone no. 6204658086', 'Company4-Phone no. 5159530096', 'Company5-Phone no. 9037952371']
    })
print("Original DataFrame:")
print(df)
def find_phone_number(text):
    ph_no = re.findall(r"\b\d{10}\b",text)
    return "".join(ph_no)
df['number']=df['company_phone_no'].apply(lambda x: find_phone_number(x))
print("\Extracting numbers from dataframe columns:")
print(df)

Sample Output:

Original DataFrame:
  company_code               company_phone_no
0        c0001  Company1-Phone no. 4695168357
1        c0002  Company2-Phone no. 8088729013
2        c0003  Company3-Phone no. 6204658086
3        c0003  Company4-Phone no. 5159530096
4        c0004  Company5-Phone no. 9037952371
\Extracting numbers from dataframe columns:
  company_code               company_phone_no      number
0        c0001  Company1-Phone no. 4695168357  4695168357
1        c0002  Company2-Phone no. 8088729013  8088729013
2        c0003  Company3-Phone no. 6204658086  6204658086
3        c0003  Company4-Phone no. 5159530096  5159530096
4        c0004  Company5-Phone no. 9037952371  9037952371

For more Practice: Solve these Related Problems:

  • Write a Pandas program to extract phone numbers from a DataFrame column using a regex pattern tailored for phone formats.
  • Write a Pandas program to identify and extract valid phone number patterns from a text column and then output them as a list.
  • Write a Pandas program to filter a DataFrame column to retrieve phone numbers and then standardize the extracted numbers.
  • Write a Pandas program to create a new column with phone numbers extracted from a messy text column and then validate the format.

Go to:


Previous: Write a Pandas program to extract only number from the specified column of a given DataFrame.
Next: Write a Pandas program to extract year between 1800 to 2200 from the specified column of a given DataFrame.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.