Python pandas库操作excel统计问题

python新手一枚,请问各路大神pandas库可以进行字符串数据频度统计的问题吗?
想利用pandas库来进行excel文件某列的数据统计,比如输出指定列数据频度次数前五的行这样。
groupby(),sort_values()这类函数查看文档之后好像都只能对int这类数值进行排序,
或者python中有什么更好的方法进行字符串频度排序吗?
万分感谢!!

2个回答

字符串频数不是数值吗?
你要做的是先读取excel,然后利用字典统计频数,在使用sort对频数进行统计

我举个例子:对字符串列表进行数据频度统计

import numpy as np
li = ['cc','aa','cc','bb','aa','cc','cc','aa','cc','##','##','##']
uni = np.unique(li)  # 唯一值
dic = dict((a, li.count(a)) for a in uni) 
print(dic.items())

结果:
dict_items([('##', 3), ('aa', 3), ('bb', 1), ('cc', 5)])
dic = sorted(dic.items(),key= lambda x:x[1], reverse=True)  # True--降序
print(dic)
print(list(x[0] for x in dic[:2]))

结果:
[('cc', 5), ('##', 3), ('aa', 3), ('bb', 1)]
['cc', '##']
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐