pandas.DataFrame.applymap#
- DataFrame.applymap(func, na_action=None, **kwargs)[source]#
- Apply a function to a Dataframe elementwise. - This method applies a function that accepts and returns a scalar to every element of a DataFrame. - Parameters
- funccallable
- Python function, returns a single value from a single value. 
- na_action{None, ‘ignore’}, default None
- If ‘ignore’, propagate NaN values, without passing them to func. - New in version 1.2. 
- **kwargs
- Additional keyword arguments to pass as keywords arguments to func. - New in version 1.3.0. 
 
- Returns
- DataFrame
- Transformed DataFrame. 
 
 - See also - DataFrame.apply
- Apply a function along input axis of DataFrame. 
 - Examples - >>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]]) >>> df 0 1 0 1.000 2.120 1 3.356 4.567 - >>> df.applymap(lambda x: len(str(x))) 0 1 0 3 4 1 5 5 - Like Series.map, NA values can be ignored: - >>> df_copy = df.copy() >>> df_copy.iloc[0, 0] = pd.NA >>> df_copy.applymap(lambda x: len(str(x)), na_action='ignore') 0 1 0 <NA> 4 1 5 5 - Note that a vectorized version of func often exists, which will be much faster. You could square each number elementwise. - >>> df.applymap(lambda x: x**2) 0 1 0 1.000000 4.494400 1 11.262736 20.857489 - But it’s better to avoid applymap in that case. - >>> df ** 2 0 1 0 1.000000 4.494400 1 11.262736 20.857489