时间:2022-07-18 09:34:50 | 栏目:Python代码 | 点击:次
实际项目中有这样的需求,将某一列的值,映射成类别型的数据,这个时候,需要我们将范围等频切分,或者等距切分。
具体的做法可以先看某一些特征的具体分布情况,然后我们选择合适的阈值进行分割。
def age_map(x): if x < 26: return 0 elif x >=26 and x <= 35: return 1 elif x > 35 and x <= 45: return 2 elif pd.isnull(x): #判断是否为NaN值,== 和in 都无法判断 return 3 else: return 4
也就是用pandas自带的函数来表示:
pd.isnull(x)
最后我们可以应用map函数:
data['age'] = data['birth_year'].map(age_map)