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

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

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

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

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

Python也是。

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

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

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

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

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

[[315234]]

Counter

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

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

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

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

  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. my_default_dict  = defaultdict(int) 
  3. for letter in'the red  fox ran as fast as it could': 
  4.     my_default_dict[letter] +=1 
  5. print(my_default_dict) 

返回

  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. Features  = namedtuple('Features', ['age', 'gender', 'name']) 
  3. row =  Features(age=22gender='male'name='Alex'
  4. print(row.age) 

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

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

[[315235]]

來源:Pexels

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

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

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

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

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2019-12-02 09:04:12

PythonGitHub機器學習

2017-11-09 15:29:21

CPU溫度常識

2023-08-29 07:52:09

CSS庫網絡動畫

2021-04-27 07:52:18

跳槽數據分析

2019-01-03 14:30:04

數據庫優化索引

2023-02-26 23:33:02

SQLMySQL數據庫

2021-06-04 10:11:07

鴻蒙安卓操作系統

2021-10-25 14:55:38

Linux技巧命令

2022-08-11 08:46:23

索引數據結構

2013-01-06 14:21:53

Ubuntu系統

2020-04-03 18:43:21

大數據Hadoop數據

2015-10-26 09:19:28

PHP經驗

2019-05-08 16:00:48

人工智能人臉識別刷臉

2018-01-02 09:31:12

大數據數據互聯網

2024-05-06 00:30:00

MVCC數據庫

2011-05-10 10:56:29

DBA面試

2018-02-06 09:40:25

PythonOOP繼承

2021-03-30 10:37:15

Windows 10Windows微軟

2021-07-26 23:57:48

Vuex模塊項目

2023-08-28 07:39:49

線程調度基本單位
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看视频一区 | 自拍偷拍亚洲视频 | 久草.com| 亚洲国产精品一区 | 国产精品国产三级国产aⅴ中文 | 国产精品中文字幕在线 | www.久| 国产欧美精品在线 | av一区二区三区在线观看 | 男女在线免费观看 | 91免费观看 | 亚洲国产精品久久久久 | 中文字幕av中文字幕 | 欧美aⅴ | 成人亚洲综合 | 精品一区二区视频 | 亚洲激情专区 | 91亚洲精品在线 | 婷婷成人在线 | 亚洲精品九九 | 欧美日韩亚洲一区二区 | 久久香蕉精品视频 | 久久亚洲天堂 | 久久国产区 | 在线视频中文字幕 | 高清视频一区二区三区 | 久久综合国产 | 特级生活片 | 国内自拍偷拍视频 | 日韩av成人| 成人毛片在线观看 | 亚洲精品欧美一区二区三区 | 日本亚洲一区 | 日本成人中文字幕 | 国产91一区| 午夜av电影 | 亚洲精品乱码久久久久久黑人 | 欧美日韩视频在线播放 | 精品久久精品 | 日本午夜免费福利视频 | 国产精品免费av |