使用pandas的apply函数来代替遍历DataFrame。apply函数会在每个列或每行上调用一个函数,并返回一个Series或DataFrame。
例如,我们有一个包含成绩信息的DataFrame:
import pandas as pd
grades = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Math': [85, 76, 90],
'English': [92, 88, 78]
})
如果我们想计算每个学生的平均分,我们可以定义一个函数来计算平均分,并使用apply函数在每行上调用该函数:
def calc_average(row):
return (row['Math'] + row['English']) / 2
grades['Average'] = grades.apply(calc_average, axis=1)
这将在每行上调用calc_average函数,并将结果存储在新列“Average”中。注意,我们需要设置axis参数为1,表示沿着行方向操作。
现在,DataFrame将包含一个新的“Average”列,其中包含每个学生的平均分。
Name Math English Average
0 Alice 85 92 88.5
1 Bob 76 88 82.0
2 Charlie 90 78 84.0
使用apply函数可以大大提高DataFrame的计算速度,并且减少遍历DataFrame的代码量。