w3resource

Pandas - Applying Custom Function to Modify Data Based on Column Types


Pandas: Custom Function Exercise-11 with Solution


Write a Pandas program to create a custom function to modify data based on column types.

This exercise shows how to apply different operations on columns based on their data types using apply().

Sample Solution:

Code :

import pandas as pd

# Create a sample DataFrame with mixed data types
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': ['x', 'y', 'z'],
    'C': [1.1, 2.2, 3.3]
})

# Define a custom function to modify data based on type
def modify_based_on_type(x):
    if isinstance(x, int):
        return x + 10  # Add 10 if integer
    elif isinstance(x, float):
        return x * 2  # Double if float
    else:
        return x.upper()  # Uppercase if string

# Apply the function to each element using applymap()
df_modified = df.applymap(modify_based_on_type)

# Output the result
print(df_modified)

Output:

    A  B    C
0  11  X  2.2
1  12  Y  4.4
2  13  Z  6.6                           

Explanation:

  • Created a DataFrame with integer, string, and float columns.
  • Defined a function modify_based_on_type() that modifies data based on its type:
    • Adds 10 to integers.
    • Doubles floats.
    • Converts strings to uppercase.
  • Applied the function to each element in the DataFrame using applymap().
  • Displayed the updated DataFrame with modified values.

Python-Pandas 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.