电商数据预处理

今天对电商数据进行了预处理,主要处理了

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电商数据预处理相关推荐

  1. python爬取今日头条手机app广告_python3今日头条App电商数据抓取

    最近有几个同学让我们帮忙抓取今日头条app的数据,有的同学需要头条app 的广告数据,有的同学需要电商资讯的数据,之前已经在博客中发布过头条app的广告数据,这里我就来用电商的数据来给大家讲解. 1. ...

  2. python爬虫实例电商_如何用代码爬抓电商数据(附淘宝API调用实例)

    原标题:如何用代码爬抓电商数据(附淘宝API调用实例) 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能B ...

  3. 电商数仓描述_笔记-尚硅谷大数据项目数据仓库-电商数仓V1.2新版

    架构 项目框架 数仓架构 存储压缩 Snappy与LZO LZO安装: 读取LZO文件时,需要先创建索引,才可以进行切片. 框架版本选型Apache:运维麻烦,需要自己调研兼容性. CDH:国内使用最 ...

  4. 数据仓库之电商数仓-- 4、可视化报表Superset

    目录 一.Superset入门 1.1 Superset概述 1.2 Superset应用场景 二.Superset安装及使用 2.1 安装Python环境 2.1.1 安装Miniconda 2.1 ...

  5. 如何用代码爬抓电商数据(附淘宝API调用实例)

    2019独角兽企业重金招聘Python工程师标准>>> 如何用代码爬抓电商数据(附淘宝API调用实例) http://www.21ds.cn/2190.html 转载于:https: ...

  6. python3今日头条App电商数据抓取

    最近有几个同学让我们帮忙抓取今日头条app的数据,有的同学需要头条app 的广告数据,有的同学需要电商资讯的数据,之前已经在博客中发布过头条app的广告数据,这里我就来用电商的数据来给大家讲解. 1. ...

  7. 【Python实战】数据预处理(数据清理、集成、变换、归约)

    [Python实战]数据预处理 前言 数据预处理概述 数据清理 异常数据处理 1.异常数据分析 2.异常数据处理方法 缺失值处理 噪声数据处理 数据集成 1.实体识别 2.冗余属性 3.数据不一致 数 ...

  8. 2.东软跨境电商数仓项目技术选型

    东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 文章目录 东软跨境电商数仓项目技术选型.框架版本选型.服务器选型.集群规划 1.数据采集传输技术选型 1.1 DataX和Sqoop比 ...

  9. python电商_电商数据分析(python)

    一.背景及目的 从多维度对某平台2016年电商数据进行分析,总结销售规律,为来年销售计划做准备,指导之后的产品销售. 二.理解数据 三.提出分析思路 四.数据清洗 此部分请见我之前写的文章:电商数据分 ...

最新文章

  1. Python subprocess模块
  2. MATLAB调用python文件方法
  3. 【PP生产订单】入门介绍(四)
  4. python网络通信编程实例_python网络编程之数据传输UDP实例分析
  5. 瀑布流插件|jquery.masonry|使用demo
  6. Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
  7. HTTP协议与HTTPS的区别
  8. php preserve keys,PHP常用的数组函数
  9. vue 组件 not defined_Vue、Spring Boot开发小而完整的Web前后端分离项目实战10
  10. python手动垃圾回收_Python3学习笔记,F,垃圾,回收
  11. 基于HyperLPR的车牌识别(十三)
  12. 如何用FFmpeg编写一个简单播放器详细步骤介绍
  13. Golang 错误处理机制详解
  14. 有没有好人看看,谢谢谢谢
  15. 百度APP“看听模式”:“AI主播”借道信息流全面落地?
  16. 108.【RabbitsMQ】
  17. Java 根据多边形坐标点 计算多边形面积
  18. Perfect Tree(图论)
  19. 韩国首发元宇宙 5 年计划,市民可戴 VR 头显见政府官员
  20. python之父是( )_Python之父加入微软,一开口就知道是老“凡学家”了

热门文章

  1. [股票预测]获取股票K线数据
  2. 浅谈软件开发过程中的项目管理
  3. 男人性健康与饮食调养
  4. 今晨下了第一场春雨~~~~~~~~~~~~~
  5. canvas 重绘时的闪动问题
  6. 大厂实习-实习笔记(四)
  7. 为什么之前学C语言学得云里雾里,学完Python后再回过头看C,很多问题都一目了然了?
  8. SCAU【1023】简单计算器
  9. H3C AP瘦切胖配置
  10. c语言如何把小数变成分数,这是把小数转换成分数的程序,可是输入0.6666无限循环...