📅  最后修改于: 2023-12-03 15:03:30.444000             🧑  作者: Mango
在数据科学中,经常需要根据两列数据的条件进行计算,从而创建一个新列。这时可以使用pandas库的apply方法结合lambda表达式来实现。
以下是一个示例代码片段,展示如何通过两列数据的条件来创建一个新列:
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'num1': [1, 2, 3, 4, 5],
'num2': [2, 4, 6, 8, 10]})
# 根据两列数据的条件创建新列
df['new_col'] = df.apply(lambda row: row['num1'] + row['num2']
if row['num1'] > 2 and row['num2'] > 5 else 0, axis=1)
print(df)
此代码创建了一个名为df的DataFrame对象,其中包含两个数字列'num1'和'num2'。然后使用apply方法和lambda表达式,根据两列数据的条件来创建一个新列'new_col'。
该lambda表达式中,如果'num1' 大于 2 且 'num2' 大于 5,则新列'new_col'将为'num1'和'num2'的和。否则,新列'new_col'为0。
接着,使用print函数打印DataFrame对象,输出结果如下:
num1 num2 new_col
0 1 2 0
1 2 4 0
2 3 6 9
3 4 8 12
4 5 10 15
可以看到,新列'new_col'已经成功创建了,并且根据条件进行了计算。
以上就是使用pandas根据两列的条件创建一个新列的方法介绍。此方法可以广泛应用于数据科学和机器学习中的数据预处理过程。