现在随着人工智能机器学习的快速发展,对数据的处理也有了很高的要求

大家在网上爬取或者自己创建的数据一般都是json格式

但是使用原本的字典,列表方式提取数据时会感到有些麻烦。

参考机器学习中sklearn中datas储存数据的方式

发现了一种方便的模块--Bunch,

于是之后便一直使用......

  • 安装bunch库:

pip3 install bunch

  • 引用bunch:

from bunch import *

参考官网https://pypi.org/project/bunch/

  • bunch创建对象:

>>> b = Bunch()
>>> b.hello = 'world'
>>> b.hello
'world'
>>> b['hello'] += "!"
>>> b.hello
'world!'
>>> b.foo = Bunch(lol=True)
>>> b.foo.lol
True
>>> b.foo is b['foo']
True
  • bunch储存方式:

from bunch import *
food = Bunch()
food.data = [[16,50,2,15,80],[25,11,26,24,11],[10,1,0,16,60],[16,19,16,16,146],[11,7,4,15,6]]
food.target =[0,1,2,3,4]
food.target_name = ['肉类零食','乳制品','水果干','辣条','面包']
food.data_name = ['能量','蛋白质','脂肪','碳水化合物','纳']

当输入print(food.keys())时显示对象food的结构

  • bunch实例:

通过k最邻近算法演算食物类型:

##自测
from bunch import *
book = Bunch()
book.data = [[16,50,2,15,80],[25,11,26,24,11],[10,1,0,16,60],[16,19,16,16,146],[11,7,4,15,6]]
book.target =[0,1,2,3,4]
book.target_name = ['肉类零食','乳制品','水果干','辣条','面包']
book.data_name = ['能量','蛋白质','脂肪','碳水化合物','纳']from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import numpy as npknn = KNeighborsClassifier(n_neighbors = 1)
X_train ,X_test , y_train ,y_test = train_test_split(book['data'],book['target'],random_state=0)
knn.fit(X_train,y_train)
print('测试得分:{:.2f}\n'.format(knn.score(X_test,y_test)))
knn.fit(book['data'],book['target'])
newbook = np.array([[80,23,80,10,10]])predict = knn.predict(newbook)
print('概率为:{}'.format(knn.predict_proba(newbook)))
print('测试结果:\n{}'.format(np.array(book['target_name'])[predict][0]))

python——方便数的据存储模式Bunch相关推荐

  1. 使用Python,OpenCV,本地二进制模式(LBP)进行人脸识别

    使用Python,OpenCV与本地二进制模式(LBP)进行人脸识别 1. 效果图 2. 原理及步骤 2.1 原理 2.2 步骤 3. 源码 参考 在深度学习和暹罗网络之前,面部识别算法依赖于特征提取 ...

  2. 具有Python&OpenCV的本地二进制模式

    具有Python&OpenCV的本地二进制模式 1. 效果图 2. 原理 2.1 项目结构 2.2 数据集构建 2.3 什么是本地二进制模式? 3. 源码 参考 这篇博客将介绍如何使用本地二进 ...

  3. C语言--测试电脑存储模式(大端存储OR小端存储)

    相信大家都知道大端存储和小端存储的概念,这在平时,我们一般不用考虑,但是,在某些场合,这些概念就显得很重要,比如,在 Socket 通信时,我们的电脑是小端存储模式,可是传送数据或者消息给对方电脑时, ...

  4. 被捞起的“海底数据中心”,故障率仅为陆地1/8,微软新型数据存储模式又有新进展...

    微软让数据存储更加环保. " 作者 | 贝爽 "水下数据中心"可以提高能源效率,至少微软是这样认为的. 近日,微软将已经沉入海底两年的数据中心打捞出了水面,经研究人员评估 ...

  5. 大端和小端存储模式解析

    一.大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的<格利佛游记>:Lilliput和Blefuscu这两个强国在过去的36个月中一 ...

  6. #Python# 十进制数转换为二进制数(包含小数)

    #Python# 十进制数转换为二进制数(包含小数) 问题描述 问题分析 代码 问题描述 编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串.对于转 ...

  7. 大端小端存储模式详解及判断方法

    文章目录 大小端模式的概念 两种模式出现原因 两种模式的优劣 大小端的应用情景 判断机器的字节序 大小端模式的概念 当我们查看数据在内存中的存储情况时,我们经常会发现一个很奇怪的现象,什么现象呢? i ...

  8. python设计模式之模型-视图-控制器模式

    python设计模式之模型-视图-控制器模式 关注点分离( Separation of Concerns, SoC)原则是软件工程相关的设计原则之一. SoC原则背后的思想是将一个应用切分成不同的部分 ...

  9. 大小端存储模式的理解和判断

    在计算机系统中,存储是以字节为单位的,每个地址单元都对应着一个字节,一个字节=8bit.在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器). ...

  10. 在python中使用json格式存储数据

    在python中使用json格式存储数据 代码如下: import jsonlist1 = [{'A': [1, 2, 3, 4, 5, 6], 'B': [3, 4, 5, 6, 7]},{'C': ...

最新文章

  1. 无线Trace脚本(旧格式)-平均延时
  2. java2ee和java2se_Java知识:(2)JavaSE和JavaEE
  3. 网管型工业以太网交换机的几种管理方式
  4. oracle 库存管理系统,库存管理系统
  5. 【假期福利】用尺子丈量宇宙:古人竟是这样理解我们的地球
  6. c struct 对齐_C中的struct大小| 填充,结构对齐
  7. Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners
  8. 低代码/无代码,在国内还有多长的路要走?
  9. 数组保存为灰度图_「PS抠图系列9」通道
  10. FTP服务端管理软件:Serv-U和filezilla
  11. linux服务器 网速测试
  12. 什么是国外广告联盟?国外广告联盟怎么赚钱?为什么你做不赚钱?
  13. 学习日记--overflow去掉滑条
  14. go beego在apache服务器上域名配置 --小丑
  15. 在vue.config.js下配置别名alias
  16. Filebeat+Kafka+Logstash+ElasticSearch+Kibana搭建完整版
  17. K8S 配置域名访问 Ingress【Traefik】
  18. 计算机系统结构复习(六):Limits to ILP and SMT指令级并行的限制和同时多线程
  19. 银行板块行情发令枪已打响12月7日天弘中证银行ETF发售1天
  20. python文件夹操作指令

热门文章

  1. 转载:HTTP调试工具:Fiddler的使用方法介绍
  2. phpspreadsheet文件下载
  3. 《近匠》专访启明星辰安全研究中心副总监侯浩俊——物联网安全攻防的“线上幽灵”...
  4. Google Play商店的各种报错解释以及修复方法。
  5. 5G相比LTE 大的差异
  6. 解决poi导出Excel异常org.openxmlformats.schemas.spreadshe
  7. galgame序列号怎么查看_国行Switch能完整体验的游戏有哪些?Switch支架掉了怎么办? | Jump指南...
  8. 百度 bae php,利用百度BAE搭建免费CDN
  9. 小红书运营中常提到的KOC是什么?带你了解KOC和KOL之间的区别
  10. 如何开通电子邮箱的SMTP功能