对pandas数据判断是否为NaN值的方法详解

实际项目中有这样的需求,将某一列的值,映射成类别型的数据,这个时候,需要我们将范围等频切分,或者等距切分。

具体的做法可以先看某一些特征的具体分布情况,然后我们选择合适的阈值进行分割。

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)

相关推荐