不能错过!跟踪数据的Python技巧

了解如何运用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函数

来源:Pexels

假如正在使用dictionary函数以跟踪首句中的单词及字数。云南idc服务商

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 namedtuplenamedtupleFriend = 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 来跟踪信息。

来源:Pexels

希望本文能丰富数据科学工具包,为大家提供更多有用的知识。香港云服务器

滇ICP备2023000592号-31