Pandas 数据帧applymap()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-applymap-method

在本教程中,我们将学习 PandasDataFrame.applymap()的方法。该方法将specifiedT2 元素应用于Dataframe元素。此方法将接受并返回标量的函数应用于数据帧的每个元素。

这个函数类似于DataFrame.apply()方法,唯一不同的是DataFrame.apply()把整列作为参数,然后把结果赋给这个列,DataFrame.applymap() 把单独的单元格值作为参数,把结果赋回这个单元格。

下图显示了DataFrame.applymap()方法的语法。

句法

DataFrame.applymap(func, na_action=None)

因素

func: 表示可调用的函数。该函数从单个值返回单个值。

na_action: 表示无或“忽略”,但默认值为无。如果是“忽略”,则传播 NaN 值,而不将它们传递给 func。

示例 1:在数据帧上应用DataFrame.applymap() 方法

以下示例显示了DataFrame.applymap() 方法的工作原理,在本例中,该方法返回所有单元格中的字符数。

df = pd.DataFrame([[1.23, 2.23], [3.3, 4]],columns=['A','B'])
print("-----DataFrame-----")
print(df)
print(df.applymap(lambda x: len(str(x))))

一旦我们运行该程序,我们将获得以下输出。

-数据帧- 甲乙 0 1.23 2.23 1 3.30 4.00 甲乙 0 4 1 3 3

示例 2:在数据帧上应用DataFrame.applymap() 方法

下面是DataFrame.applymap()方法的另一个例子。在本例中,向数据帧的单元格元素添加值并打印输出。

df = pd.DataFrame([[1.23, 2.23], [3.3, 4]],columns=['A','B'])
print("----------Adding element to the DataFrame--------")
print(df.applymap(lambda x: x+1))

一旦我们运行该程序,我们将获得以下输出。

-向数据帧添加元素- 甲乙 0 2.23 3.23 1 4.30 5.00

示例 3:应用DataFrame.applymap()方法

在下面的例子中,我们将np.sum 函数作为参数传递给DataFrame.applymap() 方法。

import pandas as pd
import numpy as np
df=pd.DataFrame([[10,11,12],[20,21,22]],columns=['A','B','C'])
print("Applying sum function to all the elements of DataFrame")
print(df.applymap(np.sum))

一旦我们运行该程序,我们将获得以下输出。

对数据帧的所有元素应用和函数 A B C 0 10 11 12 1 20 21 22

结论

在本教程中,我们学习了 PythonPandasDataFrame.applymap() 法。该函数类似于 DataFrame.apply()方法。我们通过在 DataFrame 上应用这种方法来解决示例,并了解它如何将单元格值作为参数,并将结果分配回该单元格。