pandas通过apply方法将自定义函数应用到DataFrame的行列

2023-02-23 00:00:00 自定义 用到 行列

pandas 中的 apply() 函数可以将自定义函数应用到 DataFrame 的行或列上。可以用它对某些列进行处理、添加新的列或者计算新的值等。

下面是一个示例,将一个 DataFrame 中的一列字符串转换为大写格式:

import pandas as pd

data = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Country': ['USA', 'Canada', 'Australia']})

def make_uppercase(s):
    return s.upper()

data['Country'] = data['Country'].apply(make_uppercase)

在上面的示例中,我们定义了一个名为 make_uppercase() 的函数,它接受一个字符串参数并返回一个大写格式的字符串。然后,我们使用 apply() 函数将该函数应用于 data DataFrame 的 'Country' 列,并将结果存储回该列中。

需要注意的是,apply() 函数还可以接受其他的参数。例如,如果我们要将两列相加并将结果存储在新的列中,可以使用以下代码:

data['Age_Plus_10'] = data.apply(lambda row: row['Age'] + 10, axis=1)

在这个示例中,我们使用 apply() 函数将一个匿名函数应用于 data DataFrame 的每一行。该函数接受一个行对象作为参数,并返回 Age 列的值加上 10 的结果。然后,我们将该结果存储在一个名为 Age_Plus_10 的新列中。需要注意的是,axis=1 参数表示该函数应用于每一行,而不是每一列。

相关文章