第1关:缺失值处理
任务描述
本关任务:使用 python3 对实例数据中的变量做缺失值处理,梳理数据分析的流程。
#coding:utf8
import pandas as pd
def clear_null_user(user_data):
########## Begin ##########
user_data['age'] = user_data['age'].fillna('未知')
user_data['sex'] = user_data['sex'].fillna(-1)
########## End ##########
return user_data
def clear_null_action(action_data):
#处理Action.csv数据集中的"model_id"缺失值使用-1填充
########## Begin ##########
action_data['model_id'] = action_data['model_id'].fillna(-1)
########## End ##########
return action_data
第2关:重复值处理
任务描述
本关任务:对数据集的重复数据进行处理。
#coding:utf8
import pandas as pd
def drop_duplicate_value(data):
#实现样本去重
########## Begin ##########
data = data.drop_duplicates()
########## End ##########
return data
第3关:异常值处理
任务描述
本关任务:对数据集的异常值进行处理。
#coding:utf8
import pandas as pd
#异常值处理,处理没有行为的惰性客户,去掉只有浏览的数据
def delete_unnormal(action_data,user_data):
########## Begin ##########
user_data = user_data[user_data['user_id'].isin(action_data['user_id'])]
inactive_users = action_data[action_data['type'] == 1]['user_id'].value_counts()[action_data[action_data['type'] == 1]['user_id'].value_counts() < 10].index.tolist()
user_data = user_data[~user_data['user_id'].isin(inactive_users)]
########## End ##########
return user_data