当3列的值与另一行匹配时,是否可以逐行比较同一 Dataframe 上N列之间的值,并设置一个新列来计算重复次数?
发件人:
id | column1 | column2 | column3
0 | z | x | x
1 | y | y | y
2 | x | x | x
3 | x | x | x
4 | z | y | x
5 | w | w | w
6 | w | w | w
7 | w | w | w
收件人:
id | column1 | column2 | column3 | counter
0 | z | x | x | 0
1 | y | y | y | 1
2 | x | x | x | 2
3 | x | x | x | 2
4 | z | y | x | 0
5 | w | w | w | 3
6 | w | w | w | 3
7 | w | w | w | 3
大概是这样:if(column1[someRow] == column1[anotherRow] & column2[someRow] == column2[anotherRow] & column3[someRow] == column3[anotherRow])
然后counter[someRow]++
3条答案
按热度按时间mzillmmw1#
您可以使用:
输出(为清楚起见,多了一行):
使用的输入:
lhcgjxsq2#
您可以:
我们在这里所做的是使用
nunique
获取轴1上的唯一元素数(不包括列id
),然后取那些只有一个唯一值的行,并使用size
执行groupby.transform
。k10s72fa3#
答:
第一个月