Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何编写一个函数,在不同大小的两列中统计相同和不同的ID_Python_Python 3.x_Pandas - Fatal编程技术网

Python 如何编写一个函数,在不同大小的两列中统计相同和不同的ID

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 输出: 匹配项:

给定一列“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

您可以尝试
.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倍时,可能不会给出不正确的结果。