对于别人代码的分析逻辑
- 赛题分析:
本赛题提供用户在2016年1月1日至2016年6月30日之间真实线上线下消费行为,预测用户在2016年7月领取优惠券后15天以内的使用情况。
用户线下消费字段表:User_id、Merchant_id、Coupon_id、Discount_id、Discount_rate、Distance、Date_received、Date (Date=null & Coupon_id != null,表示领取优惠券但没有使用,负样本;如果Date!=null & Coupon_id = null,则表示普通消费日期;如果Date!=null & Coupon_id != null,则表示用优惠券消费日期,即正样本)
用户线上点击\消费和优惠券领取行为:User_id、Merchant_id、Action、Coupon_id、Discount_rate、Date_received、Date
用户O2O线下优惠券使用优惠预测样本:User_id、Merchant_id、Coupon_id、Discount_rate、Distance、Date_received
选手提交文件字段:User_id、Coupon_id、Date_received、Probability
在数据处理过程中会有帮助的方法
-
检查DataFrame中的数据类型及各类情况
info()与describe()函数用法 -
当出现合并两列数据类型不一致,可以简单地数据类型转换
df['客户id'] = df['客户id'].apply(pd.to_numeric)
-
数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(20).reshape(5,4