我是如何用python去分析某加油站订单流水

一:全文思路整理

前面写了如何用excel、SQL、Tableau去分析这个数据源,本文主要描述python怎么去实现,目的是总结一整套案例分析的思路,以便日后分析参考。本文的思路为:
在这里插入图片描述

二:数据处理流程

在这里插入图片描述
可视化部分做了一个可视化库选择的参考。(各有千秋,个人比较喜欢pyecharts和seaborn,主要是视觉上还过得去。)
在这里插入图片描述

数据导入

#导入包
import pandas as pd
import numpy as np
#可视化包
import matplotlib.pyplot as plt
import seaborn as sns

#设置seaborn的格式
sns.set(style='darkgrid')
plt.rcParams['font.family'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

数据导入,并作出一些便于之后分析的处理(选择列、重命名列等)。

#导入数据 因为第一行有'数据查询表(2019-11-01 00:00:00 - 2019-11-30 23:59:59)',影响操作,所以选择添加参数header=1
# usecols 选择需要分析的列
df=pd.read_csv('./某油站订单流水.csv',header=1,usecols=[4,7,16,21,22,23,24,25],dtype={
   '油枪':'str'})
#重命名部分列
df=df.rename(columns={
   '打印完成':'paytime','主用户标识Openid':'id'})

数据清洗

1、空值

df.info()  #查看数据类型、是否有空值  id列只有54546 说明含有空值
# df.head()
#对于做删除空值的操作
df.dropna(how='any',inplace=True)
df.notnull.count()

在这里插入图片描述
->
在这里插入图片描述

2、重复值

#看一下有没有重复值 可以是某列,某几列,全部
df[df.duplicated()]
#没有不做处理 如果有 
# df.drop_duplicates(inplace=True)

3、异常值(基于业务场景)

在这里插入图片描述
我们这里认为实付金额<10是不符合业务逻辑的,做删除处理。
小插曲:遇见表头空格

#表头存在异常 我们先去掉空格
#处理数据时发现表头有些字段含有“ ”(空格)做替换处理
df.keys()
#运用列表生成式修改表头
df.columns = [i.strip() for i in df.keys()]
df.columns

在这里插入图片描述
-》
在这里插入图片描述

#删除实付金额小于10的
df.drop(df[df['实付金额']<10].index,inplace=True)
df.describe()

在这里插入图片描述

#分组看一下状态的分布
staus_g = df.groupby('状态',as_index=False).count()[['状态','paytime']] #count不会计数null值
staus_g = staus_g.rename(columns={
   "paytime":'value'})

staus_g['rate'] = (staus_g['value']/staus_g['value'].sum())
staus_g

在这里插入图片描述
下文将只对成功的订单进行分析,所以我们对退款的进行删除.

#删除不为成功的订单
df.drop(df[df['状态'] !='成功'].index,inplace=True)
df.describe()

->>在这里插入图片描述

# 查看各列格式
df.dtypes

在这里插入图片描述
进行时间的处理

#时间的处理
#导入模块
from pandas import to_datetime
#格式转化
df_dt=
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值