脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2025/2/25 浏览:3 次 )

利用字典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次

上一篇:利用Python如何画一颗心、小人发射爱心
下一篇:python 第三方库paramiko的常用方式
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?