背景
现在Hive工场下载下来的数据,nan值会显示为’\N’,并不能用dropna()将其drop掉。
python处理
new_data = data[['brand','modelname','firstactivetime','new_active_counts']].dropna() # 没用,drop不掉,因为\N被解读为str,不是nan值
new_data['new_active_counts'] = new_data['new_active_counts'].apply(lambda x:x.replace('\\N','0')) # 写\N会报错,虽然python显示的是\N,但其实要replace\\N
new_data = new_data.dropna() # 没用,drop不掉
new_data['new_active_counts'] = new_data['new_active_counts'].apply(lambda x:int(float(x))) # 将str类型的0转换成int类型的0
new_data = new_data[~new_data['new_active_counts'].isin([0])] # 相当于dropna(),但因为无法直接dropna,因此将\\N改为0,再将0去掉
new_data.head()
succcess✅
np.sum(new_data['new_active_counts'])