JokeL
2020-04-11 22:13
采纳率: 0%
浏览 418

Python pandas库操作excel统计问题

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Italink 2020-04-12 11:28

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

    点赞 打赏 评论
  • 正在学C++ 2020-04-13 00:52

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

    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', '##']
    
    点赞 打赏 评论

相关推荐