如何将函数应用到 Pandas Dataframe 中的某一列中去

您所在的位置:网站首页 max函数应用于整列 如何将函数应用到 Pandas Dataframe 中的某一列中去

如何将函数应用到 Pandas Dataframe 中的某一列中去

2023-04-15 12:05| 来源: 网络整理| 查看: 265

Pandas apply() 和 transform() 方法 使用 apply() 将函数应用于 Pandas DataFrame 列 使用 transform() 将一个函数应用到 Pandas DataFrame 列

在 Pandas 中,可以使用 apply() 和 transform() 等方法对列和 DataFrame 进行转换和操作。所需的转换作为参数以函数的形式传递给这些方法。每种方法都有其细微的区别和作用。本文将介绍如何将一个函数应用于一列或整个 DataFrame。

Pandas apply() 和 transform() 方法

apply() 和 transform() 方法都是对单个列和整个 DataFrame 进行操作。apply() 方法沿着指定的轴应用函数。它将列作为 DataFrame 传递给自定义函数,而 transform() 方法将单个列作为 Pandas Series 传递给自定义函数。

apply() 方法的输出根据输入以 DataFrame 或 Series 的形式接收,而 transform() 方法则以 Series 的形式接收。apply() 和 transform() 方法的语法都类似于:

Dataframe.apply(customFunction, axis=0) Dataframe.transform(customFunction, axis=0)

参数对应于

customFunction:要应用于 DataFrame 或 Series 的函数。 axis:0 指的是行,1 指的是列,函数需要应用在行或列上。 使用 apply() 将函数应用于 Pandas DataFrame 列

现在我们已经掌握了基础知识,让我们动手编写代码,了解如何使用 apply() 方法将一个函数应用到 DataFrame 列。

我们将使用下面的 DataFrame 示例。

import pandas as pd import numpy as np df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C']) print (df)

将函数应用到整个 DataFrame 的示例代码如下所示。

import pandas as pd import numpy as np df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C']) print (df) def add_2(x): return x+2 df = df.apply(add_2) print(df)

输出:

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

如上图所示,函数可以应用于整个 DataFrame。

将函数应用于单列

让我们来看看当函数沿单列应用时会发生什么。

import pandas as pd import numpy as np df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C']) print (df) def add_2(x): return x+2 df['A'] = df['A'].apply(add_2) print (df) # or # df['A'].transform(add_2) print (df)

输出:

A B C 0 1 2 3 1 4 5 6 2 7 8 9 A B C 0 3 2 3 1 6 5 6 2 9 8 9 使用 transform() 将一个函数应用到 Pandas DataFrame 列

让我们看看如何使用 transform() 方法将一个函数应用到一个 DataFrame 列。我们将使用与上面相同的 DataFrame 示例。

应用函数到整个 DataFrame 的示例代码如下所示。

import pandas as pd import numpy as np df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C']) print (df) def add_2(x): return x+2 df = df.transform(add_2) print(df)

输出:

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

如上图所示,函数可以应用到整个 DataFrame。

将函数应用于单列

让我们来看看当函数沿单列应用时会发生什么。

import pandas as pd import numpy as np df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['A','B','C']) print (df) def add_2(x): return x+2 df['A'] = df['A'].transform(add_2) print(df)

输出:

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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3