python数据按照分组进行频率分布_python实现读取类别频数数据画水平条形图案例...
1、数据分组-->频数分布表
环境配置:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
按照你设定合适的间隔,把数据分为各个范围的组,然后统计出在这个范围内的频数有多少,我没有找到合适的函数,我就自己写了一个函数,类似直方图的工作,这是画水平条形图的数据准备。至于为什么要画水平条形图,当类别太多,使用水平条形图比较简洁,个人看法。下面给出代码,就不解释代码含义了。
def data_count(dataa, r1, r2, step):
r = pd.DataFrame(np.random.randn(1, 2))
r.drop(0, inplace=True)
while r1+step <= r2:
num = 0
for j in range(len(dataa)):
if dataa[j] >= r1 and dataa[j] < r1+step:
num = num + 1
f = "%s~%d" % (r1, r1+step)
# r = r.append([[int(r1), num], ]) # 使用单数表示
r = r.append([[f, num], ]) # 使用范围表示
r1 = r1 + step
return r
要注意的数据范围只包含上界不含下界,数据公式这样子1⩽data<5,只含上界,这样就可以做出不重不漏。
2、频数计算
这是运用data_count函数(上面代码)进行频数计算的演示,首先看一下原数据长什么样,暂时麻烦就不公布了,你们自己按照自己的数据决定。
测试data_count函数代码:
data_gap1 = data_count(g11[:], 1, 51, 1)
data_gap2 = data_count(g22[:], 1, 51, 1)
很简单啦,就是函数的调用,你们都会的,给大家看一下输出结果,如下图:
输出结果
感觉相当完美,函数也很万能,只要输入最小值最大值和间隔,就能出频数分布表
3、水平条形图
def plot_bar(plot_data, title):
plt.figure(figsize=(10, 15))
y = plot_data.iloc[:, 1].values
tt = list(range(len(y)))
index = plot_data.iloc[:, 0].values
plt.bar(left=0, bottom=list(range(len(y))), width=y, color='blue', height=0.5,
orientation='horizontal') # 水平对应bottom&width, height表示bar的宽度
plt.yticks(tt, index)
plt.ylabel('数据范围')
plt.xlabel('频数')
plt.title(title)
plt.show()
上面中plt.bar(left=0, bottom=list(range(len(y))), width=y, color='blue', height=0.5,orientation='horizontal')这句代码是最重要的,其中left表示直方图的开始的位置(也就是最左边的地方),height是指直方图的高度,当直方图太粗时,可以通过width来定义直方图的宽度,注意多个直方图要用元组,yerr这个参数是防止直方图触顶。orientation='horizontal'指得水平条形图,使用barh方法可以省略这个参数得设定。
有个坑,如果直接用bottom=类别数据,文本格式的类别会乱序,需要像我那样先指定位置,在指定类别,如plt.yticks(tt, index)所作的工作。
水平条形图
补充知识:在ipython notebook中添加latex公式
1 MathJax 的安装
ipython notebook中数学公式的渲染使用MathJax。一般网络较好的情况下,MathJax可以在线使用,但是如果希望离线使用,需要将其安装到本地磁盘中,常用的方法是在ipython notebook中使用以下命令:
from IPython.external.mathjax import install_mathjax
install_mathjax()
2.生成配置文件
安装完mathjax之后可以正常import latex,但是执行Latex(r'S\sqrt{x^2+y^2}$')后显示的是‘$\sqrt{x^2+y^2}$'这样字符串;
原来还需要生成配置文件,方法是:在命令行中运行 ipython profile create,执行完成会在./ipython/profile_default 目录下生成
一系列的配置文件,其中包括ipython_notebook_config.py文件;有地方看到需要修改该配置文件,取消 c.NotebookApp.enable_mathjax=True;
的注释,大家可以试一下,我自己没有取消这行注释,再打开ipnb文件时公式都能正常渲染,耶~
第一次记录blog,一方面跟大家一起学习,一方面方便以后回顾,毕竟记性差了许多,哈哈~
以上这篇python实现读取类别频数数据画水平条形图案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
本文标题: python实现读取类别频数数据画水平条形图案例
本文地址: http://www.cppcns.com/jiaoben/python/309883.html
python数据按照分组进行频率分布_python实现读取类别频数数据画水平条形图案例...相关推荐
- python数据按照分组进行频率分布_python实现读取类别频数数据画水平条形图
1.数据分组-->频数分布表 环境配置: 1 importpandas as pd2 importnumpy as np3 import matplotlib.pyplot as plt 按照你 ...
- python图像数据是几维数据_python实现读取类别频数数据画水平条形图案例
1.数据分组– 频数分布表 环境配置:import pandas as pd import numpy as np import matplotlib.pyplot as plt 按照你设定合适的间隔 ...
- 用python做频数分析_python实现读取类别频数数据画水平条形图
1.数据分组-->频数分布表 环境配置: 1 importpandas as pd2 importnumpy as np3 import matplotlib.pyplot as plt 按照你 ...
- python数据按照分组进行频率分布_python 等频率切分数据
小编最近入坑风控,在工作中需要对数据进行等频率切分,也就是将数据划分成几段,在每段中,数据的出现频率,出现次数是大致相同的,让数据集在每段上呈现出分布均匀的趋势. 小编先是想到df.describe ...
- 2021年大数据HBase(十三):HBase读取和存储数据的流程
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase读取和存储数据的流程 一.HBase读取数据的流程 ...
- python爬取微博恶评_Python爬取新浪微博评论数据,了解一下?
开发工具 **Python版本:**3.6.4 相关模块: argparse模块: requests模块: jieba模块: wordcloud模块: 以及一些Python自带的模块. 环境搭建 安装 ...
- python怎么从excel获取数据_python如何读取excel表数据
python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...
- mysql分组随机取数据_MySql分组后随机获取每组一条数据的操作
思路:先随机排序然后再分组就好了. 1.创建表: create table `xdx_test` ( `id` int(11) not null, `name` varchar(255) defaul ...
- python 读excel中一个表_python 实现读取一个excel多个sheet表并合并的方法
原博文 2020-03-20 21:41 − 如下所示: import xlrd import pandas as pd from pandas import DataFrame DATA_DIR = ...
- ios 获取html中的json数据,[IOS]UIWebView实现保存页面和读取服务器端json数据
#import"ViewController.h" @interfaceViewController() @end @implementation ViewController - ...
最新文章
- 开启AngularJS学习之旅
- 风险平价策略python代码_风险平价组合(risk parity)理论与实践
- Gauss elimination Template
- saltstack之基础入门系列文章简介
- java 绘图 渐变_在CAShapeLayer图形下方绘制渐变
- Qt实现Areo效果
- linux服务器登录次数,Linux 服务器和Windows服务器 用户登录失败次数限制【互联网金融系统漏洞排查】...
- js 笔记 -- 随机生成颜色值
- LINQ TO SQL 动态查询
- tp3.2 开发规范(命名规范)
- 祝贺中国推送联盟初测成功
- 6.计蒜客ACM题库.A2011 Magic Mirror
- Clark变换的等幅值变换乘为什么2/3
- 苹果 iPhone 13 内置原生壁纸下载
- 游戏修改器制作教程三:内存与Cheat Engine
- 智能手机上最常见的传感器
- 论文笔记 · Symmetry and Group in Attribute-Object Compositions(CVPR 2020)
- SpringBoot系统监控,oshi版
- Asp 操作Access数据库时出现死锁.ldb的解决方法
- 安卓模拟器忘记密码,如何解锁