如何使用Python实现对相同数据分箱
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下如何使用Python实现对相同数据分箱,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是分箱?简单点说
千家信息网最后更新 2026年11月04日如何使用Python实现对相同数据分箱
小编给大家分享一下如何使用Python实现对相同数据分箱,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
什么是分箱?
简单点说就是将不同的东西,按照特定的条件放到一个指定容器里,比如水果 把绿色的放一个篮子里,红色一个篮子等等,这个篮子就是箱,而水果就是数据 颜色就是条件
什么样式的数据要进行分箱
数据主要分为连续变量和分类变量,分箱的操作主要针对于连续变量。
为什么要对数据进行分箱操作
稳定性,时间复杂度,看的舒服,提高准确度 等等
思路
先给定 last 为列表第一个(并存入temp列表),将后面的数据从第二个开始与 last 比较,如果相同存入 temp 中。
当不相同时,则将 last 切换为 不同的那个数(并存入temp),并将 temp列表 放入一个空列表中。
类型一:数字
实现效果
[1,1,1,2,2,2,3,3,4,4,5,5,5,5,5]# 转变为[[1, 1, 1], [2, 2, 2], [3, 3], [4, 4], [5, 5, 5, 5, 5]]
代码实现
box = [1,1,1,2,2,2,3,3,4,4,5,5,5,5,5]last = box[0]temp = [box[0]]box_list = [temp]for a in box[1::]: if a == last: temp.append(a) else: last = a temp = [a] box_list.append(temp)print(box_list) # [[1, 1, 1], [2, 2, 2], [3, 3], [4, 4], [5, 5, 5, 5, 5]]# 实现按每一个分箱列表遍历数据(而不用全部遍历)for boxs in box_list: for i in boxs: print(i)
类型二:元组
实现效果
box = [('小黑','20','四川'),('小黑','21','北京'),('张三','18','上海'),('张三','22','上海'),('张三','30','北京'),('李四','10','广州')]# 实现把名字相同的元组放入一个列表[[('小黑', '20', '四川'), ('小黑', '21', '北京')], [('张三', '18', '上海'), ('张三', '22', '上海'), ('张三', '30', '北京')], [('李四', '10', '广州')]]代码实现
box = [('小黑','20','四川'),('小黑','21','北京'),('张三','18','上海'),('张三','22','上海'),('张三','30','北京'),('李四','10','广州')]last = box[0][0]temp = [box[0]]box_list = [temp]for a in box[1::]: if a[0] == last: temp.append(a) else: last = a[0] temp = [a] box_list.append(temp) print(box_list) # 实现按每一个分箱列表遍历数据(而不用全部遍历)for boxs in box_list: for i in boxs: print(i[0]) # 0取的姓名,1取年龄,3取地址附:利用Python的cut方法可以对数据进行分箱。
import pandas as pd import numpy as np from pandas import Series,DataFrame# 随机生成一组数据score_list = np.random.randint(25,100,size = 20) # 随机生成最小值25,最大值100的20个数据# 分箱的区间bins = [0,59,70,80,100]# 分箱score_cat = pd.cut(score_list,bins)# 统计不同区间的个数pd.value_counts(score_cat)# 生成一个空的DataFramedf = DataFrame()df['Score'] = score_listdf['Name'] = [pd.util.testing.rands(5) for i in range(20)] # 生成20个姓名df['Categories'] =pd.cut(df['Score'],bins,labels = ['不及格','一般','优秀','厉害']) # labels对应的是bins的
以上是"如何使用Python实现对相同数据分箱"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数据
张三
上海
北京
相同
就是
生成
不同
变量
篇文章
篮子
李四
四川
广州
不用
代码
内容
区间
姓名
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网科技有限公司
中智农互联网科技
广州紫鲸互联网科技有限公司
科技互联网企业
互联网科技公司华为
互联网科技深圳
互联网科技资迅
互联网科技的
互联网科技视频
银优互联网科技有限公司
卓越科技互联网 招聘
佩信高科技互联网
新华互联网科技2019
承德科技产业互联网发展
恒生互联网科技指数跳水
链环科技传统企业怎么转型互联网
乌鲁木齐新华智原互联网科技学校
烟台灵鸽互联网科技有限公司
伍佰万互联网科技怎么赚钱
深圳恒合互联网络科技有限公司
腾讯阿里互联网科技
互联网科技论文
唐信互联网科技 大连
互联网科技公司有哪些
山东吉时兔互联网科技有限公司
华中科技有哪些互联网大佬
玖二柒互联网科技公司待遇
呼和浩特新华互联网科技学院
科技互联网专业务虚会材料