找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5113|回复: 6

[求助] 关于绘制图表的问题

6

主题

13

帖子

13

积分

贫民

积分
13
谁家羊丢这了 发表于 2018-5-16 14:49:04 | 显示全部楼层 |阅读模式
在数据源中有很多分散的数据,现在想对其做一个区间分布的统计,横坐标是划分的区间,纵坐标是在区间内有多少数值的统计,data['group'] = pd.qcut(data.nrc,5) 代码中用这句话实现将nrc对应的数据划分成5组,但是会报错:ValueError: Bin edges must be unique: array([0.3122 , 0.62012, 0.6673 , 0.7027 , 1.     , 1.     ]).
You can drop duplicate edges by setting the 'duplicates' kwarg,请教大神帮忙解答一下
1.png
2.png
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-5-17 09:28:22 | 显示全部楼层
测试数据也传上来
回复 支持 反对

使用道具 举报

6

主题

13

帖子

13

积分

贫民

积分
13
谁家羊丢这了  楼主| 发表于 2018-5-17 09:51:47 | 显示全部楼层
sheeboard 发表于 2018-5-17 09:28
测试数据也传上来

麻烦大神了

nc.xlsx

71.2 KB, 下载次数: 1

回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-5-17 11:15:11 | 显示全部楼层
本帖最后由 sheeboard 于 2018-5-17 11:34 编辑

import pandas as pd
df=pd.read_excel('nc.xlsx')
df.columns['a'] 偷懒少打几个字
df.a.max() df.a.min() 看一下数据值的上下限,决定如何分段
bin=[0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0] 先分7段
cats=pd.cut(df.a,bin)
result=pd.value_counts(cats)
result=result.sort_index(ascending=True)
result.plot('bar')
plt.show()
根据输出结果再调整合并 bin分5段后再做一遍,要更详细定制style的话也可以用matplotlib来画


Screenshot from 2018-05-17 11-03-44.png
回复 支持 反对

使用道具 举报

6

主题

13

帖子

13

积分

贫民

积分
13
谁家羊丢这了  楼主| 发表于 2018-5-17 15:27:58 | 显示全部楼层
您好,我按照您的代码运行了一下,可是为什么他会报错呢:IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-5-17 16:49:51 | 显示全部楼层
df.columns=['a']少个等号
回复 支持 反对

使用道具 举报

6

主题

13

帖子

13

积分

贫民

积分
13
谁家羊丢这了  楼主| 发表于 2018-5-17 18:16:31 | 显示全部楼层
sheeboard 发表于 2018-5-17 16:49
df.columns=['a']少个等号

已经改正了,可以运行看结果了,谢谢您
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表