如何在 pandas 数据框中对 2 个以上的新变量进行特征设计?
How do I feature engineer more than 2 new variables in a pandas dataframe?
我正在制作一个模型来预测个人是否会在观看广告后购买产品。
这是数据,(对不起,我不知道如何缩小它的大小):
我想添加一个名为 AgeRange
的新列,其中如果年龄 < 27 则值为 0,如果 27 <= 年龄 < 53 则值为 1,如果年龄 >= 53 则值为 2。
到目前为止我已经这样做了:
eng_data = clean_data.copy()
eng_data['AgeRange'] = [0 if i < 27 else 1 for i in eng_data['Age']]
但我不确定如果年龄 >= 53,如何添加值 2。
提前致谢。
您可以使用 apply
和 lambda
函数以简单的方式实现此目的:
eng_data['AgeRange'] = eng_data['Age'].apply(lambda x: 0 if x < 27 else (1 if x < 53 else 2))
您可以简单地使用嵌套 if
eng_data['AgeRange'] = [0 if i < 27 else (1 if (i>=27 and i<53) for i in eng_data['Age']]
我正在制作一个模型来预测个人是否会在观看广告后购买产品。
这是数据,(对不起,我不知道如何缩小它的大小):
我想添加一个名为 AgeRange
的新列,其中如果年龄 < 27 则值为 0,如果 27 <= 年龄 < 53 则值为 1,如果年龄 >= 53 则值为 2。
到目前为止我已经这样做了:
eng_data = clean_data.copy()
eng_data['AgeRange'] = [0 if i < 27 else 1 for i in eng_data['Age']]
但我不确定如果年龄 >= 53,如何添加值 2。
提前致谢。
您可以使用 apply
和 lambda
函数以简单的方式实现此目的:
eng_data['AgeRange'] = eng_data['Age'].apply(lambda x: 0 if x < 27 else (1 if x < 53 else 2))
您可以简单地使用嵌套 if
eng_data['AgeRange'] = [0 if i < 27 else (1 if (i>=27 and i<53) for i in eng_data['Age']]