NeroCube / bookmark

Place some learning resources
0 stars 0 forks source link

python 統計list中各個元素出現的次數 #284

Open NeroCube opened 3 years ago

NeroCube commented 3 years ago

利用字典dict來完成統計 舉例:

a = [1, 2, 3, 1, 1, 2]
dict = {}
for key in a:
    dict[key] = dict.get(key, 0) + 1
print dict

利用Python的collection包下Counter的類 舉例:

from collections import Counter
a = [1, 2, 3, 1, 1, 2]
result = Counter(a)
print result

Python的pandas包下的value_counts方法 舉例:

import pandas as pd
a = [1, 2, 3, 1, 1, 2]
result = pd.value_counts(a)
print result

注:利用pandas下的value_counts(),不僅可以統計list中各個元素出現的個數,還可對矩陣中的元素進行進行統計。 舉例:

import pandas as pd
a = pd.DataFrame([[1,2,3],
                  [3,1,3],
                  [1,2,1]])
result = a.apply(pd.value_counts)
print result

輸出結果:

    0    1    2
1  2.0  1.0  1.0  # 表示元素1在第一列出现2次,在第二列出现1次,在第三列出现1次
2  NaN  2.0  NaN  # 表示元素2在第一列出现0次,在第二列出现2次,在第三列出现0次
3  1.0  NaN  2.0  # 表示元素3在第一列出现1次,在第二列出现0次,在第三列出现2次