Python 如何编写一个函数,在不同大小的两列中统计相同和不同的ID
给定一列“ID”(50000行)的参考数据帧a, 以及数据帧B、C、D,列“ID”分别包含45000行、55000行和70000行, “ID”的每个实例都是一个大的(十七位)整数值, 在所有列中有许多相同的值,但不一定在同一行中 如何编写一个函数来计算其中两列中相同和不同值的数量 栏目: A['ID',196202443781557] B['ID',7814881202482311] C['ID',889196302444] D['ID',444202675] 输入: A、 B 输出: 匹配项:2差异:3您可以尝试Python 如何编写一个函数,在不同大小的两列中统计相同和不同的ID,python,python-3.x,pandas,Python,Python 3.x,Pandas,给定一列“ID”(50000行)的参考数据帧a, 以及数据帧B、C、D,列“ID”分别包含45000行、55000行和70000行, “ID”的每个实例都是一个大的(十七位)整数值, 在所有列中有许多相同的值,但不一定在同一行中 如何编写一个函数来计算其中两列中相同和不同值的数量 栏目: A['ID',196202443781557] B['ID',7814881202482311] C['ID',889196302444] D['ID',444202675] 输入: A、 B 输出: 匹配项:
.isin()
。pd.系列的示例:
A = pd.Series([196, 202, 443, 781, 557])
B = pd.Series([781, 488, 712, 202, 482, 311])
if len(A) >= len(B):
matches = A.isin(B)
else:
matches = B.isin(A)
mismatches = ~matches
print('matches: {}, mismatches: {}'.format(sum(matches), sum(mismatches))
比较长度,以便找到正确数量的不匹配。当然,找到合适数量的匹配项并不重要。将True解释为1,将False解释为0可以将数字相加。请您向我们提供一个示例数据集,并提供用于参考的预期输出。当您使用
set()
-时,应减少数值,然后您可以比较len()
,但当一个值超过2倍时,可能不会给出不正确的结果。