在Pandas中,如果你想要将一个函数应用于DataFrame的两列,并返回这两列的新值,你可以使用.apply()
方法结合lambda
函数来实现。以下是一个示例代码,展示了如何做到这一点:
import pandas as pd
# 创建一个示例DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6]
}
df = pd.DataFrame(data)
# 定义一个函数,该函数接受两个参数并返回它们的和
def add_columns(x, y):
return x + y
# 使用apply方法和lambda表达式来应用函数到每一行的两列上
df['C'] = df.apply(lambda row: add_columns(row['A'], row['B']), axis=1)
print(df)
输出将会是:
A B C
0 1 4 5
1 2 5 7
2 3 6 9
在这个例子中,我们创建了一个新的列'C',它是通过将'A'列和'B'列对应行的值相加得到的。
如果你想要对每一列独立应用函数,你可以分别对每一列使用.apply()
方法。例如:
# 对'A'列应用一个函数
df['A_squared'] = df['A'].apply(lambda x: x**2)
# 对'B'列应用另一个函数
df['B_squared'] = df['B'].apply(lambda x: x**2)
print(df)
输出将会是:
A B C A_squared B_squared
0 1 4 5 1 16
1 2 5 7 4 25
2 3 6 9 9 36
在这个例子中,我们分别计算了'A'列和'B'列的平方,并将结果存储在新的列'A_squared'和'B_squared'中。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云