Python 如何查找数据帧中的组合计数?
我是python新手,正在努力理解熊猫。我有一个数据帧-Python 如何查找数据帧中的组合计数?,python,pandas,dataframe,Python,Pandas,Dataframe,我是python新手,正在努力理解熊猫。我有一个数据帧- df CID ... hash 0 1902659 ... e96911b9693ec128b314c629bb504808f182bec7 1 1902663 ... 245befc377d09fe0fd5544e00d0bfe68851e8cba 2 1902674 ... 80738d5
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和hash值的组合在整个数据帧中完全相同的次数。例如,在CID 1902674中,我们看到两个实例中的哈希键在两种情况下都是相同的,因此,由于它是一个匹配项,因此它应该显示为计数1,并且如果相同的确切组合显示的时间晚于计数,则会继续增加。我该怎么做呢?您可以使用pandas中的方法
.pivot\u 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 )
您可以使用groupby()
fields=['CID','hash']
df.groupby(字段).count()
idx
CID哈希
1902659 e96911b9693ec128b314c629bb504808f182bec7 1
1902663 245befc377d09fe0fd5544e00d0bfe68851e8cba 1
1902674 417178ac43aea45613413ac13e0490e0aaea5a92 2
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