下面是我的数据帧的一小部分,它有数百万行。它表示Send_customers向Pay_Customers汇款。
{{1}}
我需要为那些涉及多对一场景的send_customers存储一个计数。
例如,Pay_Customers 2000000000087113758,2000000000078800989,1000000000142041382正在从多个send_customers接收资金。因此,对于所有Send_Customers向他们汇款,“计数”值将为1.
Send_Customers 1000000000009548332和1000000000072327616分别涉及Pay_Customers 2000000000087113758和1000000000142041382的2对多场景,因此累计“计数”应为2.
提前致谢!!
答案 0 :(得分:1)
您可以使用groupby:
print(df1.groupby('Send_Customer')['Pay_Customer'].count())
输出:
Send_Customer
1000000000007725765 1
1000000000009548332 2
1000000000031950290 1
1000000000072327616 2
1000000000081537869 1
1000000000082570417 1
2000000000097181041 1
根据您的评论,如果您只想保留count
高于1
的行,您可以这样做:
df1 = df1.groupby('Send_Customer')['Pay_Customer'].count().reset_index(name="count")
df1 = df1[df1['count'] > 1]
输出:
1 1000000000009548332 2
3 1000000000072327616 2