今天要完成一个数据大屏,我们想做一个板块:订单金额分布

怎么做呢?订单金额是连续型数据,订单金额随时在发生变化

其实是一个直方图制作,涉及到分箱技术

那如何实现自动分箱,自动将金额相近的订单金额分到同一组,尽可能体现组间差异性,组内相似性呢?

我们研究了excel制作直方图的原理

其实只要能确定箱子宽度,其他的自然就确定了

1、箱宽度:(3.5 * sigma)/n^(1/3)

sigma : 数据源的标准差

n:数据量大小

python 代码

import pandas as pd

import numpy as np

#虚拟一组数据

data = [0.1,0.1,0.1,0.1,0.1,0.1,45,46,48,49,102,104,105,105,106,200]

n = len(data) #计算样本量

sigma = np.std(data) #计算标准差

d = (3.5*sigma)/pow(n,1/3) #计算箱宽

d

out:78.82326487903292

#计算每个箱子的临界值

b = min(data)

bi = [b]

while b < max(data):

b = b + d

bi.append(round(b))

bi

out:[0.1, 79.0, 158.0, 237.0]

#判段源数据每个值属于哪个箱子

box = []

for i in data:

for j in range(len(bi)):

if bi[j]<=i and i

box.append(j)

box

out:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2]

#计算每个箱子的数值频数(纵坐标)

from collections import Counter

Counter(box).values()

out:dict_values([10, 5, 1]) #纵坐标

#制作横坐标

ci=[]

for i in bi:

a = i

b = a + d

c = '{}~{}'.format(round(a),round(b))

ci.append(c)

ci

out:['0~79.0', '79.0~158.0', '158.0~237.0', '237.0~316.0']

#画图

from matplotlib import pyplot as plt

plt.bar(ci[:3],list(Counter(box).values()))

如何用python处理excel做直方图_Excel/python 如何实现自动分箱 (直方图)相关推荐

  1. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  2. python与excel做数据可视化-python操作Excel、读取CVS与数据可视化

    1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...

  3. python与excel做数据可视化-python做可视化数据分析,究竟怎么样?

    Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...

  4. python调用excel的宏_Excel Python 调用Excel-ExcelVBA程序开发-ExcelHome技术论坛 -

    不知大家是否知道Python这一非常强大的脚本语言. 现在介绍通过它是如何操作Excel的. 首先,安装好Python后,需要下一个win32com的补丁.用Google搜一下就可以找到了. 具体操作 ...

  5. python与excel做数据可视化-python数据可视化怎么做?excel可视化图表制作?

    num_score_300_310 = 0num_score_310_320 = 0num_score_320_330 = 0num_score_330_340 = 0num_score_340_35 ...

  6. python多项分时求和_python实现连续变量最优分箱详解--CART算法

    关于变量分箱主要分为两大类:有监督型和无监督型 对应的分箱方法: A. 无监督:(1) 等宽 (2) 等频 (3) 聚类 B. 有监督:(1) 卡方分箱法(ChiMerge) (2) ID3.C4.5 ...

  7. python woe分箱_python自动分箱,计算woe,iv的实例代码

    笔者之前用R开发评分卡时,需要进行分箱计算woe及iv值,采用的R包是smbinning,它可以自动进行分箱.近期换用python开发, 也想实现自动分箱功能,找到了一个woe包,地址https:// ...

  8. 如何用python处理excel做直方图_python可视化(5)——直方图-excel直方图

    plt.hist(x, bins= 10, range= None, normed= False, weights= None, cumulative= False, bottom= None, hi ...

  9. python与excel互通_【python】python vs Excel ( 与mysql数据库之间的交互)

    [python]python vs Excel ( 与mysql数据库之间的交互) 通过python与mysql数据库做交互 到目前为止大部分案例的演示数据都是基于文件进行读取的.那么python如何 ...

最新文章

  1. Windows下创建进程简介
  2. TypeScript 编译生成的 JavaScript 源代码里的 ɵcmp 属性
  3. NSMapTable
  4. react只停留在表层?五大知识点带你梳理进阶知识
  5. wso2 esb_使用WSO2 ESB构建制造服务总线(MSB)
  6. 调用startactivityforresult后,onactivityresult立刻返回RESULT_CANCELED
  7. r语言提取列名_玩转数据处理120题之P1-P20(R语言tidyverse版本)
  8. 小程序入门学习01--Hello World
  9. python实习目的_python爬虫系列---为什么要学习爬虫
  10. 如你以安全模式启动计算机,如何以安全模式启动计算机?
  11. pygame安装时出现的问题以及解决方案记录.
  12. vue 富文本编辑器 —— wangEditor
  13. Android.Oldboot.1,腾讯手机管家发布全球首款可根除Oldboot病毒专杀
  14. 快速找出bug的几点建议
  15. 金蝶标准版的服务器文件,金蝶标准版服务器设置
  16. 架构师?so easy
  17. 关于OSGI中的Felix热插拔技术
  18. 字体图标 fa fa html5,Font Awesome 4.2.0的所有图标参考
  19. 360 android系统 流量,360手机卫士Android版增流量监控
  20. 传苹果或推出安卓版iTunes音乐商店

热门文章

  1. 如何排查、解决那些长时间GC停顿的问题
  2. 【附源码】计算机毕业设计SSM面向智慧课堂的教学过程管理系统
  3. python两个循环同时运行,如何同时运行两个Python循环?
  4. CAD转换成JPG图片超级方便的方法
  5. ubuntu下通过浏览器下载软件包的路径及×××.tar.xz包的安装(1)
  6. Buffer中的split方法分析
  7. js 用事件委托实现 删除节点
  8. Redis关于Hash和List的命令学习
  9. 如何画场景插画?场景插画的起稿、构图技巧!
  10. 一位老手关于HTML5的见解