在 pandas Python 中的 2 个数据帧之间的列中查找重复项
Looking for duplicates in columns between 2 dataframes in pandas Python
我如何才能编写一个函数来检测是否存在 pandas 数据帧的重复项。因此,如果我比较 first
和 second
之间的 index
列,则没有重复项。但是,如果我比较 first
和 third
之间的 index
列,则会出现 1
的重复项。我想写一个函数,当有重复时 returns 为 True bool
,没有重复时为 False
。
import pandas as pd
first = pd.DataFrame({'index': [1,4,5,6],
'vals':[3,4,5,7] })
second = pd.DataFrame({'index': [13,7,8,9],
'vals':[3,2,3,1] })
third = pd.DataFrame({'index': [1,11,2,12],
'vals':[6,7,51,2] })
预期输出:
first and second: False
first and third: True
使用sets
谓词:
>>> any(set(first['index']).intersection(second['index']))
False # because {}
>>> any(set(first['index']).intersection(third['index']))
True # because {1}
我如何才能编写一个函数来检测是否存在 pandas 数据帧的重复项。因此,如果我比较 first
和 second
之间的 index
列,则没有重复项。但是,如果我比较 first
和 third
之间的 index
列,则会出现 1
的重复项。我想写一个函数,当有重复时 returns 为 True bool
,没有重复时为 False
。
import pandas as pd
first = pd.DataFrame({'index': [1,4,5,6],
'vals':[3,4,5,7] })
second = pd.DataFrame({'index': [13,7,8,9],
'vals':[3,2,3,1] })
third = pd.DataFrame({'index': [1,11,2,12],
'vals':[6,7,51,2] })
预期输出:
first and second: False
first and third: True
使用sets
谓词:
>>> any(set(first['index']).intersection(second['index']))
False # because {}
>>> any(set(first['index']).intersection(third['index']))
True # because {1}