在大熊猫身上找到复制品的最快方法



我有一个这样的数据帧:

date             IP                 date_2            IP_2
2020-02-17       81.195.104.48      2020-02-24        219.85.238.142
2020-02-17       83.71.247.175      2020-02-24        187.134.23.124
2020-02-17       83.71.247.175      Nat               NaN

在比较IPIP_2值时,我试图获得重复值。IPIP_2有更多的行,因此我正在检查IP_2是否存在于IP中,如下所示:

df['duplicates']=df['IP_2'].isin(df['IP'])

有没有一种更快的方法可以只获取重复的df,而不是添加检查.isin()方法的新列?所需的输出将是一个只包含重复值的新数据帧。

谢谢你的建议。

在我看来,集比较是最快的方法:

set_common = set(df['IP']) & set(df['IP_2'])

附言:另一种方法是实际使用IP格式(即将其转换为整数,然后进行某种比较,但这显然对一个很大的表来说是有意义的(。

相关内容

最新更新