假设我有以下DataFrame
:
key id1 id2 id3 id4 id5
1 8 1 1 9 7
2 5 2 2 2 2
3 5 4 7 9 1
我想计算 id1-5 的值与我的 key 值匹配的次数,并将其作为新列保护。
这将是我想要的结果:
key id1 id2 id3 id4 id5 matches
1 8 1 1 1 7 3
2 5 2 2 2 2 4
3 5 4 7 9 1 0
最佳答案
使用 pandas.DataFrame.filter
和 eq
的一种方法:
df["matches"] = df.filter(like="id").eq(df["key"], axis=0).sum(1)
print(df)
输出:
key id1 id2 id3 id4 id5 matches
0 1 8 1 1 1 7 3
1 2 5 2 2 2 2 4
2 3 5 4 7 9 1 0
关于python - 将第一个单元格与行和计数匹配的其他值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66164912/