Pandas DataFrame.clip: Clip Values in a DataFrame


Pandas DataFrame.clip

The DataFrame.clip method in pandas is used to clip values in a DataFrame to a specified range. Values below the lower bound are replaced with the lower bound, and values above the upper bound are replaced with the upper bound.


Syntax

The syntax for DataFrame.clip is:

DataFrame.clip(lower=None, upper=None, *, axis=None, inplace=False, **kwargs)

Here, DataFrame refers to the pandas DataFrame on which the clipping operation is performed.


Parameters

ParameterDescription
lowerSpecifies the lower bound. Values below this bound are replaced with the lower bound. Defaults to None.
upperSpecifies the upper bound. Values above this bound are replaced with the upper bound. Defaults to None.
axisSpecifies the axis along which the clipping is applied. Use 0 or 'index' for columns, and 1 or 'columns' for rows. Defaults to None (applies to all elements).
inplaceIf True, the operation is performed in place, modifying the original DataFrame. Defaults to False.
**kwargsAdditional keyword arguments to pass to the method.

Returns

A DataFrame with values clipped to the specified range. If inplace=True, returns None.


Examples

Clipping Values in a DataFrame

This example demonstrates how to use clip to clip values in a DataFrame to a specified range.

Python Program

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]})

# Clip values to a range between 2 and 40
result = df.clip(lower=2, upper=40)
print(result)

Output

   A   B
0  2  10
1  2  20
2  3  30
3  4  40
4  5  40

Clipping Values in a DataFrame with Missing Values

This example shows how clip handles missing values (NaN) when clipping values in a DataFrame.

Python Program

import pandas as pd

# Create a DataFrame with missing values
df = pd.DataFrame({'A': [1, None, 3, 4, 5], 'B': [10, 20, None, 40, 50]})

# Clip values to a range between 2 and 40
result = df.clip(lower=2, upper=40)
print(result)

Output

     A     B
0  2.0  10.0
1  NaN  20.0
2  3.0   NaN
3  4.0  40.0
4  5.0  40.0

Clipping Values in a DataFrame In Place

This example demonstrates how to use clip with the inplace parameter to modify the original DataFrame.

Python Program

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]})

# Clip values in place to a range between 2 and 40
df.clip(lower=2, upper=40, inplace=True)
print(df)

Output

   A   B
0  2  10
1  2  20
2  3  30
3  4  40
4  5  40

Clipping Values Along Rows of a DataFrame

This example shows how to use clip with the axis parameter to clip values along rows of a DataFrame.

Python Program

import pandas as pd

# Create a DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# Clip values along rows to a range between 2 and 8
result = df.clip(lower=2, upper=8, axis=1)
print(result)

Output

   A  B  C
0  2  4  7
1  2  5  8
2  3  6  8

Summary

In this tutorial, we explored the DataFrame.clip method in pandas. Key takeaways include:

  • Using clip to limit values in a DataFrame to a specified range.
  • Handling missing values when clipping.
  • Modifying the original DataFrame in place with the inplace parameter.
  • Applying clipping along rows or columns using the axis parameter.

Python Libraries