﻿ Pandas: Clean object column with mixed data of a given DataFrame using regular expression - w3resource # Pandas: Clean object column with mixed data of a given DataFrame using regular expression

## Pandas: DataFrame Exercise-76 with Solution

Write a Pandas program to clean object column with mixed data of a given DataFrame using regular expression.

Sample Solution :

Python Code :

``````import pandas as pd
d = {"agent": ["a001", "a002", "a003", "a003", "a004"], "purchase":[4500.00, 7500.00, "\$3000.25", "\$1250.35", "9000.00"]}
df = pd.DataFrame(d)
print("Original dataframe:")
print(df)
print("\nData Types:")
print(df["purchase"].apply(type))
df["purchase"] = df["purchase"].replace("[\$,]", "", regex = True).astype("float")
print("\nNew Data Types:")
print(df["purchase"].apply(type))
``````

Sample Output:

```Original dataframe:
agent  purchase
0  a001      4500
1  a002      7500
2  a003  \$3000.25
3  a003  \$1250.35
4  a004   9000.00

Data Types:
0    <class 'float'>
1    <class 'float'>
2      <class 'str'>
3      <class 'str'>
4      <class 'str'>
Name: purchase, dtype: object

New Data Types:
0    <class 'float'>
1    <class 'float'>
2    <class 'float'>
3    <class 'float'>
4    <class 'float'>
Name: purchase, dtype: object
```

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 Python skills with w3resource's quiz

﻿

## Python: Tips of the Day

Dictionary comprehension:

```>>> m = {x: x ** 2 for x in range(5)}
>>> m
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
```