之所以会写这篇文章是因为经常会做词云图,而做词云图一个很重要的因素就是要事先知道每个元素的出现的频数:也就是说通过它们出现次数的多少来决定它们的重要性,所以需要事先将它们的次数统计出来。
模拟数据
代码语言:javascript复制import pandas as pd
import numpy as np
from collections import Counter
name_list = ["小明","小红","张三","李四","关宇"]
# 从上面的name_list中随机抽取1000个名字,有放回的抽取,所以结果中会有重复
data = list(np.random.choice(name_list,1000,replace=True)) # 生成列表形式
data[:20]
需求:现在我们的需求就是统计上面的列表中每个名字出现了多少次
通过Python字典获取
代码语言:javascript复制dic = {}
for key in data:
dic[key] = dic.get(key,0) 1
dic
- key – 字典中要查找的键。
- default – 如果指定键的值不存在时,返回该默认值。
利用collections下面的Counter类
代码语言:javascript复制from collections import Counter
result = Counter(data)
result
看下官网demo和统计出现最多的两个名字:
利用pandas中的value_counts()方法
这个方法太?了