电商行业场景化项目分析(上)——数据清洗

本次分析的数据为某电商平台真实脱敏数据,数据格式如下:

字段名 字段说明
Id 行id
orderID 订单id
UserID 用户id
goodsID 商品id
orderAmount 订单金额
Payment 支付金额
ChanelID KOL广告渠道id
platformType 平台类型
orderTime 订单时间
payTime 支付时间
chargeback 是否退货

加载数据

加载处理数据需要的库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings

plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
warnings.filterwarnings('ignore')

读取数据文件,并将行id设置为index

data = pd.read_excel('order2019.xlsx', index_col='id')
data.head()

电商行业场景化项目分析(上)——数据清洗_第1张图片
查看数据结构

data.info()

电商行业场景化项目分析(上)——数据清洗_第2张图片

数据提取

根据业务需求,只提取2019年数据

time_index = data[(data['orderTime'].dt.year==2018) | (data['orderTime'].dt.year==2020)].index
data.drop(time_index, inplace=True)

处理与业务流程不符合的数据:1、支付时间间隔大于30分钟;2、支付时间早于下单时间

data['timeinterval'] = (data['payTime']-data['orderTime']).dt.total_seconds()
data.drop(data[data['timeinterval']>1800].index, inplace=True)
data.drop(data[data['timeinterval']<0].index, inplace=True)

处理支付金额为负数的数据

pay_index = data[data['payment']<0].index
data.drop(pay_index, inplace=True)

商品ID为PR000000的为已下架商品,需要处理

goods_index = data[data['goodsID']=='PR000000'].index
data.drop(goods_index, inplace=True)

数据清洗

删除订单ID重复的数据

data.drop_duplicates('orderID', inplace=True)

创建订单折扣列,如果订单折扣大于1,按照平均折扣重新填充支付金额

data['discount'] = round(data['payment']/data['orderAmount'], 2)
dis_mean = data['discount'][data['discount']<=1].mean()
dis_count = data['discount'][data['discount']>1]
# 直接调用replace()是替换整个元素,要对某个元素的部分进行修改,就必须转成字符串(.str),来实现字符串部分替换
data['discount'] = data['discount'].replace(dis_count, dis_mean)
data['payment'] = round(data['orderAmount']*data['discount'], 2)

去掉平台类型列中单元格中的空格

data['platformType'] = data['platformType'].str.replace(' ','')

将渠道列中的NaN,使用众数填充

mode_index = data['chanelID'].mode()[0]
data['chanelID'].fillna(mode_index, inplace=True)

查看处理后的数据

data.head()

电商行业场景化项目分析(上)——数据清洗_第3张图片

data.info()

电商行业场景化项目分析(上)——数据清洗_第4张图片

至此,数据处理完成,可以将此数据导出为excel文件,并使用Excel或Tableau进行可视化处理

data.to_excel('order2019_new.xlsx')

或直接使用Python直接进行可视化处理,处理过程可以参看 :电商行业场景化项目分析(下)——数据分析。

你可能感兴趣的:(数据分析,Python,python,数据分析)