Kacilaki
2021-09-27 21:31
采纳率: 100%
浏览 16
已结题

如何对数据按列求频数

我知道R有apply(data,2,table)这种方法。
我也知道按行来算频数,可以用Python的collect模块很快。awk来建字典也行。
但是按列来求频数什么方法是最快的?不是一列,是全部列。

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • CSDN专家-HGJ 2021-09-27 21:44
    已采纳

    可结合collections的Counter和pandas中的apply来实现,示例:

    import pandas as pd
    from collections import Counter
    df=pd.DataFrame({'a':[2,3,5,6,2,3],'b':[4,6,8,9,6,9]})
    df=df.apply(lambda x:Counter(x))
    print(df)
    
    
    a    {2: 2, 3: 2, 5: 1, 6: 1}
    b    {4: 1, 6: 2, 8: 1, 9: 2}
    dtype: object
    
    
    已采纳该答案
    评论
    解决 1 无用
    打赏 举报

相关推荐 更多相似问题