电商精准营销—数据清洗

第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

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值