欢迎访问宙启技术站
智能推送

如何使用apply()函数在Python中对数据进行批量操作

发布时间:2023-12-18 06:59:54

在Python中,apply()函数是pandas库中DataFrame对象的一种方法,用于对数据进行批量操作。它可以对DataFrame的某一列或某一行应用一个自定义函数,或者应用一个已定义的函数。

下面是使用apply()函数的一些示例代码:

1. 对DataFrame的某一列应用自定义函数:

import pandas as pd

data = {'Name': ['Tom', 'Nick', 'John'],
        'Age': [28, 23, 34],
        'Salary': [5000, 6000, 7000]}

df = pd.DataFrame(data)

# 定义一个自定义函数,对Salary列的值进行加倍
def double_salary(salary):
    return salary * 2

# 使用apply()函数应用自定义函数到Salary列
df['Salary'] = df['Salary'].apply(double_salary)

print(df)

输出结果:

   Name  Age  Salary
0   Tom   28   10000
1  Nick   23   12000
2  John   34   14000

2. 对DataFrame的某一行应用自定义函数:

import pandas as pd

data = {'Name': ['Tom', 'Nick', 'John'],
        'Age': [28, 23, 34],
        'Salary': [5000, 6000, 7000]}

df = pd.DataFrame(data)

# 定义一个自定义函数,对每一行的Age和Salary列的值进行求和
def sum_age_salary(row):
    return row['Age'] + row['Salary']

# 使用apply()函数应用自定义函数到每一行
df['Sum'] = df.apply(sum_age_salary, axis=1)

print(df)

输出结果:

   Name  Age  Salary    Sum
0   Tom   28    5000   5028
1  Nick   23    6000   6023
2  John   34    7000   7034

3. 使用已定义的函数:

import pandas as pd

data = {'Name': ['Tom', 'Nick', 'John'],
        'Age': [28, 23, 34],
        'Salary': [5000, 6000, 7000]}

df = pd.DataFrame(data)

# 定义一个已定义的函数,在原值基础上加5
def add_five(value):
    return value + 5

# 使用apply()函数应用已定义的函数到Age列
df['Age'] = df['Age'].apply(add_five)

print(df)

输出结果:

   Name  Age  Salary
0   Tom   33    5000
1  Nick   28    6000
2  John   39    7000

从以上示例中可以看出,通过apply()函数可以对DataFrame的某一列或某一行应用自定义函数或已定义的函数,从而实现对数据的批量操作。这在数据分析和数据处理中非常有用。