如何使用Python实现对相同数据分箱
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,小编给大家分享一下如何使用Python实现对相同数据分箱,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是分箱?简单点说
千家信息网最后更新 2025年11月15日如何使用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安全错误
数据库的锁怎样保障安全
电脑远程服务器在哪里看
招商基金软件开发
ssr服务器安全吗
江苏超频服务器联系方式
服务器桌面管理工具
北边小说软件开发
嘉定区品牌软件开发定制收费
广州闪玩网络技术有限公司
天津品质软件开发价格
剑三服务器搬迁
mac下的数据库软件
去土巴兔做软件开发
虚拟机开服务器
软件开发需求确认表
进入软件开发公司吗
通信网络技术服务方案策划
企业网络安全用品
云服务器试用30天如何注册
计算机网络技术考不到证
软件开发的小故事
萨师煊 数据库
查询整个数据库中数据数量
联盟之间服务器不同能转金币吗
计算机网络技术考试是机考嘛
rsat 服务器远程管理
麻醉机软件开发
电脑接口服务器异常是什么意思
阳江市服务器设置
数据库中数据保留策略有哪些
奉贤区环保网络技术哪家强