不能錯過!?跟蹤數(shù)據(jù)的Python技巧
作者丨讀芯術(shù)
來源丨讀芯術(shù)?
了解如何運用Python的某些數(shù)據(jù)對象,有利于保持井然有序的狀態(tài),避免在處理數(shù)據(jù)科學項目中的大量數(shù)據(jù)時出錯。
?在數(shù)據(jù)科學項目中,有時想跟蹤數(shù)據(jù)信息,或者希望靈活、快速、輕松地更新數(shù)據(jù)的全新輸入。?為此,小芯整理這篇文章。在本文中,你將學會:?·???????在執(zhí)行l(wèi)oop命令時,跟蹤索引·???????更新全新的dictionaryitems函·???????使用可重用對象記錄新信息?我們將從這些問題入手,詳細介紹如何使用Python工具解決問題。?希望這種方法能有助于這些工具在代碼中應(yīng)用位置的可視化。?1、一邊執(zhí)行Loop命令,一邊跟蹤?假設(shè)有一張好友姓名列表。既要遍歷列表,又要跟蹤計數(shù)。該怎么做?使用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函數(shù):?
來源:Pexels假如正在使用dictionary函數(shù)以跟蹤首句中的單詞及字數(shù)。?
sent1 ={'love': 1, 'hate': 3但進行到第二句時,你想要用新語句更新先前的dictionary函數(shù)。?
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
結(jié)果:?
Counter({'love':3, 'hate': 3, 'flower': 1})太好了!現(xiàn)在,當你從其他語句中收集到更多信息時,便可以很容易地更新單詞包。可以運用len找出語句中有多少唯一單詞,?
>>>len(bag_words)3
或者,可以運用?sum計算語句中的單詞總量,?
>>>sum(bag_words.values())7
3、運用Namedtuple定義可重用對象?想跟蹤有關(guān)朋友的信息列表,為他們的生日做準備。由于暫時無可用信息,因此首先需要創(chuàng)建一個占位符,以便之后在其中輸入信息。如果要記錄凱特(Kate) 的生日、最喜歡的食物、膚色以及是否內(nèi)向,可以這樣做:?
>>>Kate = Friend('Feb', 'cake', 'pink', True)此外,如果記不住她的生日,可以調(diào)用?
>>>Kate.birthday'Feb'
Python中的類對象可以實例化凱特,但是創(chuàng)建一個Friend類來保存簡單信息,很耗費時間。在此情況下,namedtuple是個不錯的選擇。namedtuple允許記錄定義一個可重用對象,確保使用正確的歸檔名稱?
fromcollections import namedtupleFriend = namedtuple('Friend' , 'birthday foodcolor introvert')Kate = Friend('Feb', 'cake', 'pink', True)Ben = Friend('Jan','fish', 'red', False)顯示有關(guān)凱特的信息:?
>>>KateFriend(birthday='Feb', food='cake', color='pink', introvert=True)
如果想知道本 (Ben) 是內(nèi)向還是外向,可以調(diào)用?
>>>Ben.introvertFalse
使用 nametuples , 用戶可以輕松地重用同一對象以實例化新信息。?認真閱讀并實踐,你將學會運用enumerate、集合推導(set comprehension)、Counter 和namedtuple 來跟蹤信息。?
來源:Pexels希望本文能豐富數(shù)據(jù)科學工具包,為大家提供更多有用的知識。
近期精彩內(nèi)容推薦:??

在看點這里
好文分享給更多人↓↓
評論
圖片
表情

