跟踪数据的Python技巧
推荐
在线提问>>
了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免在处理数据科学项目中的大量数据时出错。
在数据科学项目中,有时想跟踪数据信息,或者希望灵活、快速、轻松地更新数据的全新输入。
为此,小编整理这篇文章。在本文中,你将学会:
在执行loop命令时,跟踪索引
更新全新的dictionaryitems函
使用可重用对象记录新信息
我们将从这些问题入手,详细介绍如何使用Python工具解决问题。
希望这种方法能有助于这些工具在代码中应用位置的可视化。
1、一边执行Loop命令,一边跟踪假设有一张好友姓名列表。既要遍历列表,又要跟踪计数。该怎么做?使用enumerate即可。
>>>friends=['Ben','Kate','Thinh']
>>>fori,iteminenumerate(friends):
>>>print(f'{i}:{item}')
0:Ben
1:Kate
2:Thinh
或者简单运用dictionarycomprehension
>>>{i:friends[i]foriinrange(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这一类允许集合中多个元素的存在
fromcollectionsimportCounter
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允许记录定义一个可重用对象,确保使用正确的归档名称
fromcollectionsimportnamedtuplenamedtupleFriend=namedtuple('Friend','birthdayfoodcolorintrovert')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、集合推导(setcomprehension)、Counter和namedtuple来跟踪信息。
以上内容为大家介绍了跟踪数据的Python技巧,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/