不能錯過!​跟蹤數據的Python技巧

點擊上方 "碼農真經" 關注,星標或者置頂

22點24分準時推送,第一時間送達

不能錯過!​跟蹤數據的Python技巧

碼農真經(ID:coder_experience)第 114 次推文 圖源:Pexels


上一篇:你有特斯拉,我有樹莓派,純手工打造車載車牌識別檢測系統,家用車秒變智能車


正文



瞭解如何運用Python的某些數據對象,有利於保持井然有序的狀態,避免在處理數據科學項目中的大量數據時出錯。
在數據科學項目中,有時想跟蹤數據信息,或者希望靈活、快速、輕鬆地更新數據的全新輸入。 為此,小芯整理這篇文章。在本文中,你將學會: · 在執行loop命令時,跟蹤索引· 更新全新的dictionaryitems函· 使用可重用對象記錄新信息 我們將從這些問題入手,詳細介紹如何使用Python工具解決問題。 希望這種方法能有助於這些工具在代碼中應用位置的可視化。 1、一邊執行Loop命令,一邊跟蹤 假設有一張好友姓名列表。既要遍歷列表,又要跟蹤計數。該怎麼做?使用enumerate即可。







  • >>>friends = ['Ben', 'Kate', 'Thinh']>>> for i, item in enumerate(friends):>>> print(f'{i}: {item}')0: Ben1: Kate2: Thinh



  • 或者簡單運用dictionarycomprehension



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



  • 2、更新DictionaryItems函數:

  • 不能錯過!​跟蹤數據的Python技巧

  • 假如正在使用dictionary函數以跟蹤首句中的單詞及字數。


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



  • 但進行到第二句時,你想要用新語句更新先前的dictionary函數。


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



  • 更新的單詞包如下:


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



  • 該怎麼做?要是有些工具能助你輕鬆完成,豈不是很好?如果正好需要這類工具,collections.Counter正中下懷。collections.Counter 這一類允許集合中多個元素的存在



  • fromcollections import Counterbag_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 namedtupleFriend = namedtuple('Friend' , 'birthday foodcolor introvert')Kate = Friend('Feb', 'cake', 'pink', True)Ben = Friend('Jan','fish', 'red', False)



  • 顯示有關凱特的信息:



  • >>>KateFriend(birthday='Feb', food='cake', color='pink', introvert=True)



  • 如果想知道本 (Ben) 是內向還是外向,可以調用



  • >>>Ben.introvertFalse



  • 使用 nametuples , 用戶可以輕鬆地重用同一對象以實例化新信息。 認真閱讀並實踐,你將學會運用enumerate、集合推導(set comprehension)、Counter 和namedtuple 來跟蹤信息。


不能錯過!​跟蹤數據的Python技巧


希望本文能豐富數據科學工具包,為大家提供更多有用的知識。

--END--


價值1.4萬元的課程講義開源,fast.ai發佈新書源代碼,登GitHub趨勢榜第一

如何用OpenCV在Python中實現人臉檢測

Python3.9又更新了:dict內置新功能,正式版十月見面

我用Python遠程探查室友每天的網頁訪問記錄,他不愧是成年人!

Python高效編程技巧,看了都說好!


喜歡本文的朋友們,歡迎長按下圖關注訂閱號碼農真經

收看更多精彩內容


你在看嗎?一起成長


分享到:


相關文章: