成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這些很好用卻不被看好的Python庫,你知道多少?

開發 后端
生活中,常常有一些人,明明很有能力,卻不被身邊人看好。是金子總能發光,這句話放在現實生活中,其實并不完全適用,人口眾多,不乏有才之人,想要成功就需要一個一鳴驚人的機會。

生活中,常常有一些人,明明很有能力,卻不被身邊人看好。

[[284235]]

是金子總能發光,這句話放在現實生活中,其實并不完全適用,人口眾多,不乏有才之人,想要成功就需要一個一鳴驚人的機會。

Python也是。

Python中有很多現成的性能不錯的庫。collections就是其中一個。

collections模塊提供了“高性能的容器數據類型”,是通用容器字典、列表、集合和元組的完美替代。

但卻常常被人忽視或者看輕。

今天,小芯就將努力當一個“好伯樂”,簡潔明了地為大家介紹那些不被看好的Python庫,發掘出它們的無限潛能。

在本文中將會向讀者仔細介紹其中的三種數據類型,相信在閱讀完本文后,大家一定會疑惑自己之前是如何在沒有這些庫的情況下完成編程。

Counter

Counter的名字很貼切——它的主要功能就是計數。這聽起來很簡單,但事實證明,數據科學家經常不得不進行計數,所以它十分有效。

有幾種方法可以實現初始化,但筆者通常會設置一個如下圖的值列表: 

  1. from  collections import Counter 
  2.  
  3. ages = [22, 22, 25, 25, 30, 24, 26, 24, 35, 45, 52, 22, 22, 22, 25, 16, 11, 15, 40, 30] 
  4.  
  5. value_counts  = Counter(ages) 
  6.  
  7. print(value_counts.most_common()) 

counter.py hosted with ❤ by GitHub

如果讀者要運行上述代碼(建議使用這個高效率工具),就會得到以下輸出: 

  1. [(22, 5), (25, 3), (24, 2), (30,2), (35, 1), (40, 1), (11, 1), (45, 1), (15, 1), (16, 1), (52, 1), (26, 1)] 

按最常見的順序排列的元組列表,其中元組中首先包含值,然后是計數。所以可以迅速地從中看到22歲是最常見的年齡,頻率為5次,還有年齡只出現了一次。完成了!

DefaultDict

這是筆者的最愛之一。DefaultDict是在首次遇到每個鍵時使用默認值初始化的多功能字典。接下來是一個實例。 

  1. From collections  import defaultdict 
  2.  
  3. my_default_dict  = defaultdict(int
  4.  
  5. for letter in'the red  fox ran as fast as it could'
  6.  
  7.     my_default_dict[letter] +=1 
  8.  
  9. print(my_default_dict) 

defaultdict.py hosted with ❤ by GitHub

返回 

  1. defaultdict(<type 'int'>,{'a': 4, ' ': 8, 'c': 1, 'e': 2, 'd': 2, 'f': 2, 'i': 1, 'h': 1, 'l': 1, 'o':2, 'n': 1, 's': 3, 'r': 2, 'u': 1, 't': 3, 'x': 1}) 

通常,當嘗試訪問一個不在字典中的值時,就會出現顯示錯誤的界面。還有其他方法可以處理這個問題,但是它會添加一些多余的代碼當用戶希望使用默認值的時候。在上面的例子中,用int初始化了defauldict,這意味著在第一次訪問時,將它假設為0,所以可以很容易地對所有字符進行計數,簡潔明了。另一個常見的初始化是list,它允許用戶在第一次訪問時立即開始附加值。

NamedTuple

NamedTuple對于數據科學家的意義至關重要。接下來這個場景聽起來可能十分熟悉, 由于喜歡list,所以正在進行特征工程,只需將這些特征添加到相對應的類中,然后將其輸入到機器學習模型中。當得到數百個特征時,情況就會變得十分混亂。對于具體用到的特性,或引用了列表中的哪個索引模棱兩可。更糟糕的是,當其他人查看代碼時,他們面對這一大堆的特性根本無從下手。

輸入NamedTuples來解決這個窘境。

僅僅只需要多寫幾行代碼,混亂的列表立刻就會恢復秩序。如下圖所示: 

  1. from  collections import namedtuple 
  2.  
  3. Features  = namedtuple('Features', ['age''gender''name']) 
  4.  
  5. row =  Features(age=22, gender='male'name='Alex'
  6.  
  7. print(row.age) 

namedtuple.py hosted with ❤ by GitHub

如果要運行這段代碼,它就會印出“22”的字樣,即特征用戶存儲在行中的年齡。簡直不可思議!現在,大可不必使用索引來訪問,取而代之的是一些易于理解的名稱,這大大提高了代碼的可維護性和整潔度。

這些功能都有助于編寫更加簡潔的代碼。

看到這里,讀者應該對collections庫和它的一些很棒的功能有了一些了解,趕緊使用起來吧!

你會驚訝地發現它們很多隱藏的用處,以及它給你的代碼帶來的質的改變。

盡情享受它們帶來的便利!

動動你的小手手,一起來試試吧~

責任編輯:華軒 來源: 讀芯術
相關推薦

2020-02-17 15:49:11

Python開發

2022-02-09 08:49:37

架構

2018-03-26 09:39:06

大數據IT互聯網

2017-11-09 15:29:21

CPU溫度常識

2019-01-03 14:30:04

數據庫優化索引

2023-08-29 07:52:09

CSS庫網絡動畫

2023-02-26 23:33:02

SQLMySQL數據庫

2021-10-25 14:55:38

Linux技巧命令

2021-04-27 07:52:18

跳槽數據分析

2013-01-06 14:21:53

Ubuntu系統

2021-06-04 10:11:07

鴻蒙安卓操作系統

2020-04-03 18:43:21

大數據Hadoop數據

2011-05-10 10:56:29

DBA面試

2024-05-06 00:30:00

MVCC數據庫

2022-08-11 08:46:23

索引數據結構

2018-02-06 09:40:25

PythonOOP繼承

2023-10-23 09:48:00

2021-07-26 23:57:48

Vuex模塊項目

2023-08-28 07:39:49

線程調度基本單位

2019-05-08 16:00:48

人工智能人臉識別刷臉
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久久国产综合精品麻豆 | 国产欧美一区二区三区久久人妖 | 中文字幕免费 | 久久久精品在线 | 亚洲国产精品一区二区三区 | 亚洲精品乱码久久久久久按摩 | 国产精品久久久亚洲 | 欧美一级免费观看 | 成人一区二区三区在线观看 | 亚洲欧美日韩久久 | 久久久久久av | 精品一区久久 | 二区高清| 国户精品久久久久久久久久久不卡 | 99色综合| 黑色丝袜三级在线播放 | 欧美久久久久 | 亚洲色欲色欲www | 亚洲a一区| 九九热精品视频 | 久久国产精品免费视频 | 一级片在线观看视频 | 情侣酒店偷拍一区二区在线播放 | 国产精品成人一区二区三区吃奶 | 久久精品久久久 | 色综合国产| 国产精品区二区三区日本 | 极品在线| 亚洲女人天堂成人av在线 | 最新日韩精品 | 中文字幕在线人 | 国产伦一区二区三区四区 | 国产黄视频在线播放 | 国产精久久久久久久妇剪断 | 国产精品一区二区不卡 | 中文字幕免费观看 | 在线免费观看a级片 | 久久久久久国产精品久久 | 欧美激情亚洲激情 | 日本久久一区二区三区 | 一区二区在线免费观看 |