如何用python处理excel做直方图_Excel/python 如何实现自动分箱 (直方图)
今天要完成一个数据大屏,我们想做一个板块:订单金额分布
怎么做呢?订单金额是连续型数据,订单金额随时在发生变化
其实是一个直方图制作,涉及到分箱技术
那如何实现自动分箱,自动将金额相近的订单金额分到同一组,尽可能体现组间差异性,组内相似性呢?
我们研究了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 如何实现自动分箱 (直方图)相关推荐
- python与excel做数据可视化-Python的Excel操作及数据可视化
Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...
- python与excel做数据可视化-python操作Excel、读取CVS与数据可视化
1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...
- python与excel做数据可视化-python做可视化数据分析,究竟怎么样?
Python做可视化数据分析也是可以的,只是对比起来专业的可视化工具有些得不应手,做出来的图可能不太美观.Python用来处理数据,用来分析绝对可以.我觉得想要可视化可以使用专门的可视化工具. 不过, ...
- python调用excel的宏_Excel Python 调用Excel-ExcelVBA程序开发-ExcelHome技术论坛 -
不知大家是否知道Python这一非常强大的脚本语言. 现在介绍通过它是如何操作Excel的. 首先,安装好Python后,需要下一个win32com的补丁.用Google搜一下就可以找到了. 具体操作 ...
- python与excel做数据可视化-python数据可视化怎么做?excel可视化图表制作?
num_score_300_310 = 0num_score_310_320 = 0num_score_320_330 = 0num_score_330_340 = 0num_score_340_35 ...
- python多项分时求和_python实现连续变量最优分箱详解--CART算法
关于变量分箱主要分为两大类:有监督型和无监督型 对应的分箱方法: A. 无监督:(1) 等宽 (2) 等频 (3) 聚类 B. 有监督:(1) 卡方分箱法(ChiMerge) (2) ID3.C4.5 ...
- python woe分箱_python自动分箱,计算woe,iv的实例代码
笔者之前用R开发评分卡时,需要进行分箱计算woe及iv值,采用的R包是smbinning,它可以自动进行分箱.近期换用python开发, 也想实现自动分箱功能,找到了一个woe包,地址https:// ...
- 如何用python处理excel做直方图_python可视化(5)——直方图-excel直方图
plt.hist(x, bins= 10, range= None, normed= False, weights= None, cumulative= False, bottom= None, hi ...
- python与excel互通_【python】python vs Excel ( 与mysql数据库之间的交互)
[python]python vs Excel ( 与mysql数据库之间的交互) 通过python与mysql数据库做交互 到目前为止大部分案例的演示数据都是基于文件进行读取的.那么python如何 ...
最新文章
- Windows下创建进程简介
- TypeScript 编译生成的 JavaScript 源代码里的 ɵcmp 属性
- NSMapTable
- react只停留在表层?五大知识点带你梳理进阶知识
- wso2 esb_使用WSO2 ESB构建制造服务总线(MSB)
- 调用startactivityforresult后,onactivityresult立刻返回RESULT_CANCELED
- r语言提取列名_玩转数据处理120题之P1-P20(R语言tidyverse版本)
- 小程序入门学习01--Hello World
- python实习目的_python爬虫系列---为什么要学习爬虫
- 如你以安全模式启动计算机,如何以安全模式启动计算机?
- pygame安装时出现的问题以及解决方案记录.
- vue 富文本编辑器 —— wangEditor
- Android.Oldboot.1,腾讯手机管家发布全球首款可根除Oldboot病毒专杀
- 快速找出bug的几点建议
- 金蝶标准版的服务器文件,金蝶标准版服务器设置
- 架构师?so easy
- 关于OSGI中的Felix热插拔技术
- 字体图标 fa fa html5,Font Awesome 4.2.0的所有图标参考
- 360 android系统 流量,360手机卫士Android版增流量监控
- 传苹果或推出安卓版iTunes音乐商店