python 统计list中各个元素出现的次数的几种方法

(编辑:jimmy 日期: 2024/9/21 浏览:2)

利用字典dict来完成统计

举例:

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

输出结果:

>{1: 3, 2: 2, 3: 1}

利用Python的collection包下Counter的类

举例:

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

输出结果:

>{1: 3, 2: 2, 3: 1}

Python的pandas包下的value_counts方法

举例:

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

输出结果:

>1    3
   2    2
   3    1

注:利用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次

一句话新闻

微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。