python學習筆記——統計序列中元素的出現頻度


方法一:用字典方法統計序列中元素的出現頻度

ange(30)] ##創建一個隨機數序列
data
Out[57]: 
[5,
 13,
 0,
 1,
 17,
 8,
 7,
 3,
 19,
 15,
 19,
 15,
 11,
 17,
 16,
 12,
 9,
 17,
 4,
 0,
 17,
 4,
 1,
 14,
 2,
 2,
 6,
 12,
 3,
 2]
c = dict.fromkeys(data,0) ##創建一個字典,用隨機數序列做鍵,默認初始值爲0
c
Out[59]: 
{0: 0,
 1: 0,
 2: 0,
 3: 0,
 4: 0,
 5: 0,
 6: 0,
 7: 0,
 8: 0,
 9: 0,
 11: 0,
 12: 0,
 13: 0,
 14: 0,
 15: 0,
 16: 0,
 17: 0,
 19: 0}
for x in data: ##遍歷建,如果鍵相同,就加1.就可以得出序列中元素出現的次數
    c[x] +=1
    
c
Out[61]: 
{0: 2,
 1: 2,
 2: 3,
 3: 2,
 4: 2,
 5: 1,
 6: 1,
 7: 1,
 8: 1,
 9: 1,
 11: 1,
 12: 2,
 13: 1,
 14: 1,
 15: 2,
 16: 1,
 17: 4,
 19: 2}
方法二:使用collection.Counter對象

Counter是一個簡單的計數器,例如,統計字符出現的個數:

代碼接方法一

from collections import Counter
c2 = Counter(data)
c2
Out[64]: 
Counter({0: 2,
         1: 2,
         2: 3,
         3: 2,
         4: 2,
         5: 1,
         6: 1,
         7: 1,
         8: 1,
         9: 1,
         11: 1,
         12: 2,
         13: 1,
         14: 1,
         15: 2,
         16: 1,
         17: 4,
         19: 2})
c2.most_common(3)##most_common 方法篩選頻率最高的3個
Out[65]: 
[(17, 4), (2, 3), (0, 2)]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章