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

开发 后端
了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免在处理数据科学项目中的大量数据时出错。

了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免在处理数据科学项目中的大量数据时出错。

在数据科学项目中,有时想跟踪数据信息,或者希望灵活、快速、轻松地更新数据的全新输入。

[[317537]]

为此,小芯整理这篇文章。在本文中,你将学会:

  • 在执行loop命令时,跟踪索引
  • 更新全新的dictionaryitems函
  • 使用可重用对象记录新信息

我们将从这些问题入手,详细介绍如何使用Python工具解决问题。

希望这种方法能有助于这些工具在代码中应用位置的可视化。

1、一边执行Loop命令,一边跟踪 假设有一张好友姓名列表。既要遍历列表,又要跟踪计数。该怎么做?使用enumerate即可。

  1. >>>friends = ['Ben', 'Kate', 'Thinh'] 
  2. >>> for i, item in enumerate(friends): 
  3. >>>     print(f'{i}: {item}') 
  4. 0: Ben 
  5. 1: Kate 
  6. 2: Thinh 

或者简单运用dictionarycomprehension

  1. >>>{i: friends[i] for i in range(len(friends))} 
  2. {0: 'Ben', 1: 'Kate', 2: 'Thinh'} 

2. 更新DictionaryItems函数

[[317538]]

来源:Pexels

假如正在使用dictionary函数以跟踪首句中的单词及字数。

  1. sent1 ={'love': 1, 'hate': 3 

但进行到第二句时,你想要用新语句更新先前的dictionary函数。

  1. sent2 = {'love':2, 'flower': 1} 

更新的单词包如下:

  1. {'love':3, 'hate': 3, 'flower': 1} 

该怎么做?要是有些工具能助你轻松完成,岂不是很好?如果正好需要这类工具,collections.Counter正中下怀。collections.Counter 这一类允许集合中多个元素的存在

  1. fromcollections import Counter 
  2. bag_words = Counter()sent1 = {'love': 1, 'hate': 3}bag_words.update(sent1)sent2= {'love': 2, 'flower': 1}bag_words.update(sent2)bag_words 

结果:

  1. Counter({'love':3, 'hate': 3, 'flower': 1}) 

太好了!现在,当你从其他语句中收集到更多信息时,便可以很容易地更新单词包。可以运用len找出语句中有多少唯一单词,

  1. >>>len(bag_words) 

或者,可以运用 sum计算语句中的单词总量,

  1. >>>sum(bag_words.values()) 

3. 运用Namedtuple定义可重用对象

想跟踪有关朋友的信息列表,为他们的生日做准备。由于暂时无可用信息,因此首先需要创建一个占位符,以便之后在其中输入信息。如果要记录凯特(Kate) 的生日、最喜欢的食物、肤色以及是否内向,可以这样做:

  1. >>>Kate = Friend('Feb', 'cake', 'pink', True) 

此外,如果记不住她的生日,可以调用

  1. >>>Kate.birthday 
  2. 'Feb' 

Python中的类对象可以实例化凯特,但是创建一个Friend类来保存简单信息,很耗费时间。在此情况下,namedtuple是个不错的选择。namedtuple允许记录定义一个可重用对象,确保使用正确的归档名称

  1. fromcollections import namedtuplenamedtupleFriend = namedtuple('Friend' , 'birthday foodcolor introvert')Kate = Friend('Feb', 'cake', 'pink', True)Ben = Friend('Jan','fish', 'red', False) 

显示有关凯特的信息:

  1. >>>Kate 
  2. Friend(birthday='Feb'food='cake'color='pink'introvert=True

如果想知道本 (Ben) 是内向还是外向,可以调用

  1. >>>Ben.introvert 
  2. False 

使用 nametuples , 用户可以轻松地重用同一对象以实例化新信息。 认真阅读并实践,你将学会运用enumerate、集合推导(set comprehension)、Counter 和namedtuple 来跟踪信息。

来源:Pexels

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

 

责任编辑:赵宁宁 来源: 读芯术
相关推荐

2020-04-03 19:21:59

JavaScript编程语言开发

2022-07-18 10:15:16

Python

2021-10-18 22:07:05

装机显卡硬件

2019-07-23 09:00:00

vuejavascript前端

2020-05-27 10:38:16

开发代码技巧

2019-08-01 13:02:58

Python数据科学数据

2023-10-12 13:06:00

PyCharm插件CSV

2019-07-08 16:18:56

PandasPyhton库数据处理

2019-11-12 14:18:56

PythonWord设计

2023-10-23 18:01:44

插件服务器扩展

2014-07-23 10:08:34

Angular前端项目

2024-01-09 18:01:38

2017-03-22 11:18:44

2017Java类库

2015-07-06 10:09:33

iosFoundationNSHashTable

2022-06-02 13:20:23

数字化技术

2024-03-15 08:22:35

JmzyAI开源模型AIGC产品

2015-07-07 10:15:56

iOSUIVisualEffweak

2018-11-13 15:50:41

干货Java源码

2015-09-16 16:44:06

2017-03-10 22:27:59

点赞
收藏

51CTO技术栈公众号