w3resource

Pandas: Extract numbers less than 100 from the specified column of a given DataFrame

Pandas: String and Regular Expression Exercise-34 with Solution

Write a Pandas program to extract numbers less than 100 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'],
    'address': ['72 Surrey Ave.11','92 N. Bishop Ave.','9910 Golden Star St.', '102 Dunbar St.', '17 West Livingston Court']
    })
print("Original DataFrame:")
print(df)

def test_num_less(n):
    nums = []
    for i in n.split():
        result = re.findall(r'\b(0*(?:[1-9][0-9]?|100))\b',i)
        nums.append(result)
        all_num=[",".join(x) for x in nums if x != []]
    return " ".join(all_num)

df['num_less'] = df['address'].apply(lambda x : test_num_less(x))
print("\nNumber less than 100:")
print(df)

Sample Output:

Original DataFrame:
  company_code                   address
0        c0001          72 Surrey Ave.11
1        c0002         92 N. Bishop Ave.
2        c0003      9910 Golden Star St.
3        c0003            102 Dunbar St.
4        c0004  17 West Livingston Court

Number greater than 940:
  company_code                   address num_less
0        c0001          72 Surrey Ave.11    72 11
1        c0002         92 N. Bishop Ave.       92
2        c0003      9910 Golden Star St.         
3        c0003            102 Dunbar St.         
4        c0004  17 West Livingston Court       17

Python Code Editor:

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

Previous: Write a Pandas program to extract numbers greater than 940 from the specified column of a given DataFrame.
Next: Write a Pandas program to check whether two given words present in a specified column of a given DataFrame.

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.