python电商数据预处理
电商数据预处理
今天对电商数据进行了预处理,主要处理了
1. 提取2019年的订单数据
2. 处理业务流程不符的数据(支付时间早于下单时间、支付时长超过30分钟、订单金额小于0、支付金额小于0)
3. 处理渠道为空的数据(补充众数)
4. 处理平台类型字段(去掉多余的空格,保持数据一致)
5. 添加折扣字段,处理折扣大于1的字段(将支付金额修改为“订单金额*平均折扣”)
数据在这里,有兴趣跟我一起做。(百度网盘)
链接:https://pan.baidu.com/s/1yprZr0sxzLLPPBy-ICCocg
提取码:dmmo
各字段说明:
1.‘id’ 打酱油的索引
2.‘orderID’ 订单id
3. ‘userID’ 用户id
4. ‘goodsID’ 商品id
5. ‘orderAmount’ 订单价格
6. ‘payment’ 实付价格
7. ‘chanelID’ 渠道
8. ‘platfromType’ 平台类型
9. 'orderTime’下单时间
10. 'payTime’支付时间
11. ‘chargeback’ 是否退款
废话不多说,直接上代码
# 导入数据分析三大神器库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
1.导入数据
# 1.导入数据
ds_df = pd.read_excel('data/某电商网站订单数据.xlsx') #请你将路径换为自己放数据的路径
1.1查看数据前五行
ds_df.head() # 查看数据前五行
1.2属性等信息
ds_df.info()
2.数据预处理
2.1. 提取2019年的订单数据
# 进行布尔索引
df_19 = ds_df[ds_df.orderTime.dt.year==2019]
len(df_19)
这里可知数据已经变少了,接下来我们就用这个新的df_19进行进一步处理
2.2 处理业务流程不符的数据(支付时间早于下单时间、支付时长超过30分钟、订单金额小于0、支付金额小于0)
# 过滤掉支付时间早于下单时间的订单
df_19 = df_19[~(df_19.payTime<df_19.orderTime)] # 过滤掉支付时长超过30分钟的订单
df_19 = df_19[(df_19.payTime-df_19.orderTime)<pd.to_timedelta('0 days 00:30:00')]
# 过滤掉订单金额小于0、支付金额小于0的订单
df_19 = df_19[(df_19.orderAmount>0) & (df_19.payment > 0)]
len(df_19)
2.3. 处理渠道为空的数据(补充众数)
df_19.chanelID.isnull().any() # 判断是否有空值# 拿到chanelID的众数,这里得到的众数是一个对象,不能用于在直接填充
chanel_mode = df_19.chanelID.mode()
# 填充空值(将上面的对象转换成字符串再填充)
df_19.fillna(value={'chanelID':str(chanel_mode)},inplace=True)
2.4. 处理平台类型字段(去掉多余的空格,保持数据一致)
# 将所有字符转成小写
df_19.platfromType = df_19.platfromType.str.lower()
# 去掉多余的空格,保持数据一致
df_19.platfromType = df_19.platfromType.str.replace(' ','')
2.5. 添加折扣字段,处理折扣大于1的字段(将支付金额修改为“订单金额*平均折扣”)
# 获取折扣正常订单
temp = df_19[~((df_19.payment / df_19.orderAmount)>1)]
# 计算正常订单的平均折扣
mean_discount=(temp.payment / temp.orderAmount).mean()
# 拿出异常折扣订单
temp1 = df_19[(df_19.payment / df_19.orderAmount)>1]
# 将异常的支付价格改正
temp1['payment'] = np.round(temp1.orderAmount*mean_discount,2)
temp1.set_index('id')
temp1.index
over_discount_index = temp1.index
# 将df_19中的异常行用temp1的行来替换
df_19.loc[over_discount_index] = temp1.loc[over_discount_index]
到这里就完成了预处理,但是你发现索引并不好看,于是我将索引重置
df_19.reset_index(drop=True,inplace=True)
完成后效果是这样的。
想了解更多知识,欢迎移步到微信公众号
扫码或搜索数据分析者
好了,创作不易,有帮助留下你的赞或小额打赏哦!
python电商数据预处理相关推荐
- python爬取今日头条手机app广告_python3今日头条App电商数据抓取
最近有几个同学让我们帮忙抓取今日头条app的数据,有的同学需要头条app 的广告数据,有的同学需要电商资讯的数据,之前已经在博客中发布过头条app的广告数据,这里我就来用电商的数据来给大家讲解. 1. ...
- python爬虫实例电商_如何用代码爬抓电商数据(附淘宝API调用实例)
原标题:如何用代码爬抓电商数据(附淘宝API调用实例) 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能B ...
- 电商数仓描述_笔记-尚硅谷大数据项目数据仓库-电商数仓V1.2新版
架构 项目框架 数仓架构 存储压缩 Snappy与LZO LZO安装: 读取LZO文件时,需要先创建索引,才可以进行切片. 框架版本选型Apache:运维麻烦,需要自己调研兼容性. CDH:国内使用最 ...
- 数据仓库之电商数仓-- 4、可视化报表Superset
目录 一.Superset入门 1.1 Superset概述 1.2 Superset应用场景 二.Superset安装及使用 2.1 安装Python环境 2.1.1 安装Miniconda 2.1 ...
- 如何用代码爬抓电商数据(附淘宝API调用实例)
2019独角兽企业重金招聘Python工程师标准>>> 如何用代码爬抓电商数据(附淘宝API调用实例) http://www.21ds.cn/2190.html 转载于:https: ...
- python3今日头条App电商数据抓取
最近有几个同学让我们帮忙抓取今日头条app的数据,有的同学需要头条app 的广告数据,有的同学需要电商资讯的数据,之前已经在博客中发布过头条app的广告数据,这里我就来用电商的数据来给大家讲解. 1. ...
- 【Python实战】数据预处理(数据清理、集成、变换、归约)
[Python实战]数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1.异常数据分析 2.异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1.实体识别 2.冗余属性 3.数据不一致 数 ...
- 2.东软跨境电商数仓项目技术选型
东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 文章目录 东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 1.数据采集传输技术选型 1.1 DataX和Sqoop比 ...
- python电商_电商数据分析(python)
一.背景及目的 从多维度对某平台2016年电商数据进行分析,总结销售规律,为来年销售计划做准备,指导之后的产品销售. 二.理解数据 三.提出分析思路 四.数据清洗 此部分请见我之前写的文章:电商数据分 ...
最新文章
- Python subprocess模块
- MATLAB调用python文件方法
- 【PP生产订单】入门介绍(四)
- python网络通信编程实例_python网络编程之数据传输UDP实例分析
- 瀑布流插件|jquery.masonry|使用demo
- Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
- HTTP协议与HTTPS的区别
- php preserve keys,PHP常用的数组函数
- vue 组件 not defined_Vue、Spring Boot开发小而完整的Web前后端分离项目实战10
- python手动垃圾回收_Python3学习笔记,F,垃圾,回收
- 基于HyperLPR的车牌识别(十三)
- 如何用FFmpeg编写一个简单播放器详细步骤介绍
- Golang 错误处理机制详解
- 有没有好人看看,谢谢谢谢
- 百度APP“看听模式”:“AI主播”借道信息流全面落地?
- 108.【RabbitsMQ】
- Java 根据多边形坐标点 计算多边形面积
- Perfect Tree(图论)
- 韩国首发元宇宙 5 年计划,市民可戴 VR 头显见政府官员
- python之父是( )_Python之父加入微软,一开口就知道是老“凡学家”了