【问题标题】:How to find the count of combination in a dataframe? [duplicate]如何找到数据框中的组合计数? [复制]
【发布时间】:2020-11-26 23:38:06
【问题描述】:

我是 python 新手,正在尝试理解 pandas。我有一个数据框-

df
         CID  ...                                      hash
0        1902659  ...  e96911b9693ec128b314c629bb504808f182bec7
1        1902663  ...  245befc377d09fe0fd5544e00d0bfe68851e8cba
2        1902674  ...  80738d5fcc402938e90db2366ebe5d4c6dd3933d
3        1902674  ...  417178ac43aea45613413ac13e0490e0aaea5a92
4        1902674  ...  417178ac43aea45613413ac13e0490e0aaea5a92
         ...  ...                                       ...
1004625  2565017  ...  c3e063e7eff025de2b63c5638f7df279f14eed56
1004626  2565017  ...  536dde3209eac448f64787a4126bf599ecab3979
1004627  2565068  ...  83475a4e61e2bfec60684eb55dfa5cced918bc97
1004628  2565250  ...  f58347052683c5c4e58f2e1fbb7e1c49f98d556b
1004629  2565373  ...  3fdbac7e12abfcacbd48ff11644236169dc67a15

[1004630 rows x 4 columns]

我想要一个列来反映 CID 和哈希值的组合在整个数据帧中完全相同的次数。例如,在 CID 1902674 中,我们看到两种情况下的哈希键在两种情况下都是相同的,因此由于它是匹配的,因此它应该显示为 count 1,并且如果相同的确切组合显示晚于 count 继续增加。我该怎么办?

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以使用 pandas 中的 .pivot_table 方法来执行此操作。

    import pandas as pd
    
    #df_initial: The initial dataframe
    #df_solution: The final dataframe
    
    df_solution = df_initial.pivot_table(index=['Cid','Hash'], aggfunc='size')
    print (df_solution )
    

    【讨论】:

      【解决方案2】:

      您可以使用groupby()

      fields = ['CID', 'hash']
      df.groupby(fields).count()
      
                                                        idx
      CID     hash                                         
      1902659 e96911b9693ec128b314c629bb504808f182bec7    1
      1902663 245befc377d09fe0fd5544e00d0bfe68851e8cba    1
      1902674 417178ac43aea45613413ac13e0490e0aaea5a92    2 <--
              80738d5fcc402938e90db2366ebe5d4c6dd3933d    1
      2565017 536dde3209eac448f64787a4126bf599ecab3979    1
              c3e063e7eff025de2b63c5638f7df279f14eed56    1
      2565068 83475a4e61e2bfec60684eb55dfa5cced918bc97    1
      2565250 f58347052683c5c4e58f2e1fbb7e1c49f98d556b    1
      2565373 3fdbac7e12abfcacbd48ff11644236169dc67a15    1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-27
        • 1970-01-01
        • 1970-01-01
        • 2013-01-17
        • 2017-09-04
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        相关资源
        最近更新 更多