pandas.DataFrame.map # 数据框。map ( func , na_action = None , ** kwargs ) [来源] # 按元素将函数应用于数据框。 版本 2.1.0 中的新增功能: DataFrame.applymap 已弃用并重命名为 DataFrame.map。 此方法应用一个函数,该函数接受并向 DataFrame 的每个元素返回一个标量。 参数: 可调用函数Python 函数,从单个值返回单个值。 na_action {无,'忽略'},默认无如果“忽略”,则传播 NaN 值,而不将它们传递给 func。 **夸格作为关键字参数传递给 func 的其他关键字参数。 返回: 数据框转换后的数据框。 也可以看看 DataFrame.apply沿 DataFrame 的输入轴应用函数。 DataFrame.replace将to_replace中给出的值替换为value。 Series.map在系列上按元素应用函数。 例子 >>> df = pd.DataFrame([[1, 2.12], [3.356, 4.567]]) >>> df 0 1 0 1.000 2.120 1 3.356 4.567 >>> df.map(lambda x: len(str(x))) 0 1 0 3 4 1 5 5 与 Series.map 一样,NA 值可以忽略: >>> df_copy = df.copy() >>> df_copy.iloc[0, 0] = pd.NA >>> df_copy.map(lambda x: len(str(x)), na_action='ignore') 0 1 0 NaN 4 1 5.0 5 也可以将map与非 lambda函数的函数一起使用: >>> df.map(round, ndigits=1) 0 1 0 1.0 2.1 1 3.4 4.6 请注意,通常存在func的矢量化版本,它会快得多。您可以按元素对每个数字进行平方。 >>> df.map(lambda x: x**2) 0 1 0 1.000000 4.494400 1 11.262736 20.857489 但在这种情况下最好避免使用地图。 >>> df ** 2 0 1 0 1.000000 4.494400 1 11.262736 20.857489