前段时间有一个朋友说遇到一个数据分析的面试题,今天来和大家分享一下。
题目是这样的:有一个姓名列表,列表中有很多名字,且有些名字是重复的,要求是找出出现次数最多的名字,以及出现的次数。
上代码:
from pandas import DataFrame, Series
import pandas as pd
import numpy as np
name_list = ["张三", "李四", "周瑜", "张三", "张三", "李四", "王五", "张飞", "张飞", "周瑜"]
name_dict = {}
for name in name_list:
# 取出字典中的所有keys值
key_list = name_dict.keys()
if name in key_list:
name_dict[name] += 1
else:
name_dict[name] = 1
# 根据字典中的value值进行倒序排序
name_dict = sorted(name_dict.items(), key=lambda item:item[1], reverse=True)
print(name_dict )
# 取出第一个元素即是出现次数最多的名字
print(name_dict[0])
结果:
[('张三', 3), ('李四', 2), ('周瑜', 2), ('张飞', 2), ('王五', 1)]
('张三', 3)
完毕!