数据清洗之朝阳医院2018年销售数据分析

2023-10-27

朝阳医院2018年销售数据分析

所用到的数据提取地址:——>戳这里下载,或私我

过程:

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

整体代码:



#导入库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_excel('朝阳医院2018年销售数据.xlsx')    #导入数据

#了解数据

data.head()    #查看前五行 
data.describe()    #查看总体数据的描述统计分析
data.info()     #看一下数据信息


# 清洗数据


#把购药时间改成销售时间,直接在原数据框进行修改。
data.rename(columns= {'购药时间':'销售时间'},inplace=True)
#看一下修改后的数据
data.head()


#没有时间和社保卡号的消费数据对于本次分析是无效的,
#所以清理一下缺失值
data=data.dropna(subset=['销售时间','社保卡号'],how='any')
data.head()#查看前五行数据


#把销售时间的日期和星期分开。
data['销售时间'], data['销售星期'] = data['销售时间'].str.split(' ', 1).str
#切分好之后,把销售时间变为时间类型
data['销售时间'] = pd.to_datetime(data['销售时间'],format='%Y-%m-%d',errors='coerce')
#先看一下清洗到这个阶段的数据
data.head()




#重置一下索引
#将数据按照销售时间排序
data = data.sort_values('销售时间',ascending=True)
#重置索引
data = data.reset_index(drop=True)
#再看一下数据
data.head()




#选取销售数量和应收金额大于0的列
data = data[(data['销售数量'] > 0) & (data['应收金额'] > 0)]
#看一下目前的数据
data.head()




#数据分析


#首先对数据进行一个去重,使用drop_duplicates函数
data = data.drop_duplicates(subset=['销售时间','社保卡号'])
#去重后看一下一共有多少条数据
total = data.shape[0]
Total

#再计算月份
#用销售时间的最大值减去最小值即可得到天数,再除以(地板除)三十就可以得到月份了
month = (data['销售时间'].max() - data['销售时间'].min()).days // 30

KPI1 = total / month
print('月均消费次数为:',KPI1)



#计算总金额
sum_sale = data['实收金额'].sum()

kpi2=sum_sale/month
print('月均消费金额为:',kpi2)


#客单价 就是总实收金额除以总消费次数
kdj = sum_sale/total
print('客单价:',kdj)


# 消费趋势

#对去重后的数据按照天进行重新采样
#首先要把索引变成时间
data.index = pd.DatetimeIndex(data['销售时间'])
#将索引按天聚合
b = data.resample('D').count()
b.head()




#画图
plt.plot(b.index,b['实收金额'])
plt.xlabel = 'Time'
plt.ylabel = 'Money'
plt.title = '总金额消费趋势图'
plt.show()





#按月采样
datas = data.resample('M').sum()
#画图
plt.plot(datas.index, datas['实收金额'])
plt.show()



del data['Unnamed: 7']  #删除空值的一行
del data['Unnamed: 8']
del data['Unnamed: 9']
data.head()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据清洗之朝阳医院2018年销售数据分析 的相关文章

随机推荐

  • 福利!打造自己的ChatGPT聊天小程序,前后端代码全开源

    简介 本文分享一个我前几个月实现的一个智能聊天系统小项目 包含了java后端 微信小程序端 web页面端三个子工程 代码已经全部开源 地址放在了文末 最近一年 chatGPT的火爆程度 已经不需要我再多说了 但是依旧有很多人想用却用不上 原
  • elementUI的Table分页多选框

    目的 实现进入页面显示默认的选中项 在用户重新选择后 将选择的和取消选择的数据提交给后台 这里涉及到一个分页的问题 表格是可分页的表格 所以要存储用户的选项 1 element ui的table表格的多选框默认选中 data return
  • spring整合redisson配置

    配置方式 redis的部署方式有单节点部署 哨兵方式部署 集群方式部署3种方式 各种配置方式可以去看xsd文件 redisson 1 1 xsd
  • 【漏洞发现】xxe

    一 漏洞描述 XXE漏洞利用的是XML解析器处理XML文件时的一个特性 即可以引用外部实体 攻击者可以在XML文档中定义一个外部实体 并在引用该实体时 在外部实体中注入恶意代码或文件路径等敏感信息 当XML解析器解析文档时 会自动解析外部实
  • nginx-sticky-module的使用(基于cookie的会话保持)

    在多台后台服务器的环境下 我们为了确保一个客户只和一台服务器通信 我们势必使用长连接 使用什么方式来实现这种连接呢 常见的有使用nginx自带的ip hash来做 我想这绝对不是一个好的办法 如果前端是CDN 或者说一个局域网的客户同时访问
  • IDEA如何导入Eclipse项目-靠谱

    小伙伴在用到IDEA的时候 将已有的Eclipse项目导入到IDEA中 遇到各种问题 我总结了一下 仅供参考 我的工具版本是 IntelliJ IDEA 2017 1 5 1 open的项目目录展示 实际文件目录 打开的项目目录展示 2 点
  • Java High Level REST Client 中文API(仅供参考)

    1 初始化 兼容性 Java High Level REST Client需要Java 1 8 并依赖于Elasticsearch核心项目 客户端版本与客户端开发的Elasticsearch版本相同 它接受与TransportClient相
  • PyQt的动作(QAction)

    前言 Qt的设计师程序能够识别用户界面中用户做同样事情时所经常使用的不同种方法 例如 在许多应用中创建一个新文件可以使用File gt New菜单项 或者通过点击按钮图标 或者使用快捷键等 对于用户是如何执行动作的我们并不关心 关心他们到底
  • 第一章: Mysql体系结构和存储引擎

    文章目录 1 1 定义数据库和实例 1 2 Mysql体系结构 1 3 Mysql存储引擎 1 4 常见问题解答 1 5 存储引擎相关操作语法 1 6 连接Mysql 1 1 定义数据库和实例 数据库和实例的区别 数据库是物理操作系统或其他
  • 让别人写一个python爬虫程序大概要多少钱?

    前言 目前 对于程序代做来说没有统一标准 不像论文那样可以按照字数来定价 根据行业经验 总结出了一个python代写的参考价格 一般来说如果想写本科的python作业 一般是500起 硕士作业按照项目算的话 一般是1500起 影响pytho
  • JS的作用域问题

    一 块级作用域 在 JavaScript 中 作用域为可访问变量 对象 函数的集合 js没有块级作用域 你可以自己闭包或其他方法实现 只有函数级作用域 函数外面的变量函数里面可以找到 函数里面的变量外面找不到 var a 10 functi
  • Nginx 七层和四层负载均衡——筑梦之路

    七层负载均衡示例配置 worker processes 2 events worker connections 1024 7层http负载 http include mime types default type application o
  • Python全栈开发【基础-07】与用户交互

    专栏介绍 本专栏为Python全栈开发系列文章 技术包括Python基础 函数 文件 面向对象 网络编程 并发编程 MySQL数据库 HTML JavaScript CSS JQuery bootstrap WSGI Django Flas
  • C++ list, vector, map, set 区别与用法比较

    一 list和vector List封装了链表 Vector封装了数组 list和vector得最主要的区别在于vector使用连续内存存储的 他支持 运算符 而list是以链表形式实现的 不支持 Vector对于随机访问的速度很快 但是对
  • 华为OD机试真题 Java 实现【组合出合法最小数】【2023Q1 200分】,附详细解题思路

    一 题目描述 给一个数组 数组里面都是代表非负整数的字符串 将数组里所有的数值排列组合拼接起来组成一个数字 输出拼接成的最小的数字 二 输入描述 一个数组 数组不为空 数组里面都是代表非负整数的字符串 可以是0开头 例如 13 045 09
  • Tkinter模拟发送邮箱验证码并在指定时间后验证码过期

    先上两张图 再解释 运行原理 程序运行后 输入要接收验证码的邮箱地址 点击 发送 后 控制台打印输出得到的验证码并发送到邮箱里 过了15秒以后 验证码再次刷新 并打印输出 这样就实现了动态过期 原理就是到某个时间点我再刷新一遍生成验证码函数
  • Hadoop命令大全

    目录 基本语法 一 上传 二 下载 三 其他增删改查操作 3 1 增 3 2 删 3 3 改 3 4 查 基本语法 hadoop fs 和 hdfs dfs hadoop fs和hdfs dfs命令等效 hdfs dfs 只能操作HDFS文
  • FISCO-BCOS学习——区块链浏览器搭建

    注意 本系列文章遇到的问题都可以参考查找 官方文档 或 本系列问题总结 FISCO BCOS 及 WeBase 问题记录 FISCO BCOS 官方文档 WeBase 官方文档 FISCO BCOS区块链浏览器搭建 前提条件 环境 版本 J
  • STM32的HAL库SPI操作(master 模式)-根据时序图配置SPI

    SPI相关基础知识 SPI基本概念请自行百度 参考 百度百科SPI简介 我们讲重点和要注意的地方 master模式下要关注的地方 接线一一对应 也就是说主控的MISO MOSI SCLK CSn 分别和设备的MISO MOSI SCLK C
  • 数据清洗之朝阳医院2018年销售数据分析

    朝阳医院2018年销售数据分析 所用到的数据提取地址 gt 戳这里下载 或私我 过程 整体代码 导入库 import pandas as pd import numpy as np import matplotlib pyplot as p