了解如何運(yùn)用Python的某些數(shù)據(jù)對(duì)象,有利于保持井然有序的狀態(tài),避免在處理數(shù)據(jù)科學(xué)項(xiàng)目中的大量數(shù)據(jù)時(shí)出錯(cuò)。
在數(shù)據(jù)科學(xué)項(xiàng)目中,有時(shí)想跟蹤數(shù)據(jù)信息,或者希望靈活、快速、輕松地更新數(shù)據(jù)的全新輸入。
為此,小編整理這篇文章。在本文中,你將學(xué)會(huì):
在執(zhí)行l(wèi)oop命令時(shí),跟蹤索引
更新全新的dictionaryitems函
使用可重用對(duì)象記錄新信息
我們將從這些問題入手,詳細(xì)介紹如何使用Python工具解決問題。
希望這種方法能有助于這些工具在代碼中應(yīng)用位置的可視化。
1、一邊執(zhí)行Loop命令,一邊跟蹤假設(shè)有一張好友姓名列表。既要遍歷列表,又要跟蹤計(jì)數(shù)。該怎么做?使用enumerate即可。
>>>friends=['Ben','Kate','Thinh']
>>>fori,iteminenumerate(friends):
>>>print(f'{i}:{item}')
0:Ben
1:Kate
2:Thinh
或者簡單運(yùn)用dictionarycomprehension
>>>{i:friends[i]foriinrange(len(friends))}
{0:'Ben',1:'Kate',2:'Thinh'}
2.更新DictionaryItems函數(shù)
假如正在使用dictionary函數(shù)以跟蹤首句中的單詞及字?jǐn)?shù)。
sent1={'love':1,'hate':3
但進(jìn)行到第二句時(shí),你想要用新語句更新先前的dictionary函數(shù)。
sent2={'love':2,'flower':1}
更新的單詞包如下:
{'love':3,'hate':3,'flower':1}
該怎么做?要是有些工具能助你輕松完成,豈不是很好?如果正好需要這類工具,collections.Counter正中下懷。collections.Counter這一類允許集合中多個(gè)元素的存在
fromcollectionsimportCounter
bag_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)在,當(dāng)你從其他語句中收集到更多信息時(shí),便可以很容易地更新單詞包。可以運(yùn)用len找出語句中有多少唯一單詞,
>>>len(bag_words)
3
或者,可以運(yùn)用sum計(jì)算語句中的單詞總量,
>>>sum(bag_words.values())
7
3.運(yùn)用Namedtuple定義可重用對(duì)象
想跟蹤有關(guān)朋友的信息列表,為他們的生日做準(zhǔn)備。由于暫時(shí)無可用信息,因此首先需要?jiǎng)?chuàng)建一個(gè)占位符,以便之后在其中輸入信息。如果要記錄凱特(Kate)的生日、最喜歡的食物、膚色以及是否內(nèi)向,可以這樣做:
>>>Kate=Friend('Feb','cake','pink',True)
此外,如果記不住她的生日,可以調(diào)用
>>>Kate.birthday
'Feb'
Python中的類對(duì)象可以實(shí)例化凱特,但是創(chuàng)建一個(gè)Friend類來保存簡單信息,很耗費(fèi)時(shí)間。在此情況下,namedtuple是個(gè)不錯(cuò)的選擇。namedtuple允許記錄定義一個(gè)可重用對(duì)象,確保使用正確的歸檔名稱
fromcollectionsimportnamedtuplenamedtupleFriend=namedtuple('Friend','birthdayfoodcolorintrovert')Kate=Friend('Feb','cake','pink',True)Ben=Friend('Jan','fish','red',False)
顯示有關(guān)凱特的信息:
>>>Kate
Friend(birthday='Feb',food='cake',color='pink',introvert=True)
如果想知道本(Ben)是內(nèi)向還是外向,可以調(diào)用
>>>Ben.introvert
False
使用nametuples,用戶可以輕松地重用同一對(duì)象以實(shí)例化新信息。認(rèn)真閱讀并實(shí)踐,你將學(xué)會(huì)運(yùn)用enumerate、集合推導(dǎo)(setcomprehension)、Counter和namedtuple來跟蹤信息。
以上內(nèi)容為大家介紹了跟蹤數(shù)據(jù)的Python技巧,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/