不能错过!跟踪数据的Python技巧
云栖号:https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!
了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免在处理数据科学项目中的大量数据时出错。
在数据科学项目中,有时想跟踪数据信息,或者希望灵活、快速、轻松地更新数据的全新输入。
为此,小芯整理这篇文章。在本文中,你将学会:
· 在执行loop命令时,跟踪索引
· 更新全新的dictionaryitems函
· 使用可重用对象记录新信息
我们将从这些问题入手,详细介绍如何使用Python工具解决问题。
希望这种方法能有助于这些工具在代码中应用位置的可视化。
1、一边执行Loop命令,一边跟踪
假设有一张好友姓名列表。既要遍历列表,又要跟踪计数。该怎么做?使用enumerate即可。
>>>friends = ['Ben', 'Kate', 'Thinh'] >>> for i, item in enumerate(friends): >>> print(f'{i}: {item}') 0: Ben 1: Kate 2: Thinh
或者简单运用dictionarycomprehension
>>>{i: friends[i] for i in range(len(friends))} {0: 'Ben', 1: 'Kate', 2: 'Thinh'}
2、更新DictionaryItems函数:
假如正在使用dictionary函数以跟踪首句中的单词及字数。
sent1 ={'love': 1, 'hate': 3
但进行到第二句时,你想要用新语句更新先前的dictionary函数。
sent2 = {'love':2, 'flower': 1}
更新的单词包如下:
{'love':3, 'hate': 3, 'flower': 1}
该怎么做?要是有些工具能助你轻松完成,岂不是很好?如果正好需要这类工具,collections.Counter正中下怀。collections.Counter 这一类允许集合中多个元素的存在
fromcollections import Counter bag_words = Counter()sent1 = {'love': 1, 'hate': 3}bag_words.update(sent1)sent2= {'love': 2, 'flower': 1}bag_words.update(sent2)bag_words
结果:
Counter({'love':3, 'hate': 3, 'flower': 1})
太好了!现在,当你从其他语句中收集到更多信息时,便可以很容易地更新单词包。可以运用len找出语句中有多少唯一单词,
>>>len(bag_words) 3
或者,可以运用 sum计算语句中的单词总量,
>>>sum(bag_words.values()) 7
3、运用Namedtuple定义可重用对象
想跟踪有关朋友的信息列表,为他们的生日做准备。由于暂时无可用信息,因此首先需要创建一个占位符,以便之后在其中输入信息。如果要记录凯特(Kate) 的生日、最喜欢的食物、肤色以及是否内向,可以这样做:
>>>Kate = Friend('Feb', 'cake', 'pink', True)
此外,如果记不住她的生日,可以调用
>>>Kate.birthday 'Feb'
Python中的类对象可以实例化凯特,但是创建一个Friend类来保存简单信息,很耗费时间。在此情况下,namedtuple是个不错的选择。namedtuple允许记录定义一个可重用对象,确保使用正确的归档名称
fromcollections import namedtupleFriend = namedtuple('Friend' , 'birthday foodcolor introvert')Kate = Friend('Feb', 'cake', 'pink', True)Ben = Friend('Jan','fish', 'red', False)
显示有关凯特的信息:
>>>Kate Friend(birthday='Feb', food='cake', color='pink', introvert=True)
如果想知道本 (Ben) 是内向还是外向,可以调用
>>>Ben.introvert False
使用 nametuples , 用户可以轻松地重用同一对象以实例化新信息。
认真阅读并实践,你将学会运用enumerate、集合推导(set comprehension)、Counter 和namedtuple 来跟踪信息。
希望本文能丰富数据科学工具包,为大家提供更多有用的知识。
云栖号:https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【云栖号案例 | 物联网&人工智能】上海数字化蔬菜工厂项目上云案例
云栖号案例库:【点击查看更多上云案例】不知道怎么上云?看云栖号案例库,了解不同行业不同发展阶段的上云方案,助力你上云决策! 公司介绍 我们公司是上海绿立方农业发展有限公司,成立于2012年,我们公司致力于农业数字化的解决方案打造,从水培叶菜自动化生产起步,进行现代农业产业化的革命性探索。 我们公司坚持以有机、绿色为基础,为农业提供可复制的数字化解决方案,结合IoT、人工智能、大数据等技术,为叶菜工场提供服务。 目前已经拥有7项发明专利和12个系统标准。把种植经验数字化、标准化,研发了的具备“农业种植专家”能力的物联网云平台,用新技术,成就新农业。公司倡导“移动菜园”的蔬菜消费新理念,积极探索产业融合立体融合的模式。 业务痛点 传统蔬菜生产经营者组织化程度低,生产过程数据化、标准化程度低,品质、产量不稳定。 传统蔬菜品牌价值低,生产信息不透明,生产过程缺乏监管,食品安全问题突出。 传统蔬菜供应链链条长,蔬菜运输过程中损耗高,生产种植者溢价空间低。 解决方案 解决方案逻辑图 方案细节: 阿里云物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端A...
- 下一篇
疫情什么时候才能结束?菜鸟用Python进行预测
云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 什么时候能去武大看樱花?什么时候才能再去重庆吃麻辣火锅?什么时候才能再去海南冲浪?什么时候才能再去大理看风花雪月?2020年的春节显得格外漫长,一切的计划似乎都被突如其来的新冠肺炎疫情给打断了。 究竟什么时候生活才能恢复正常?本文将试图用python对疫情的趋势做个预测,待疫情结束之时,一起去武汉看樱花,一起去春熙路看小姐姐可好。 1.准备工作 编程环境:anaconda下Spyder。 数据来源:整理自国家卫生健康委员会官网。 需要安装的依赖库有:scipy。scipy是一个用于数学、科学等领域的开源科学计算库,其建立在Numpy之上,可用于处理积分、优化、常微分方程数值解的求解、信号处理等问题。本文主要用于函数拟合。 2.算法流程 1).理论解释 如何预测新冠肺炎的累计确诊人数,目前常用的方法有基于SIR的传染病模型,以及基于Logistic方程的方法等。SIR模型实现起来相对较复杂,本文将基于一个更简单的模型——利用Logist...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7