我有一个这样的数据帧:
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
在比较IP
和IP_2
值时,我试图获得重复值。IP
比IP_2
有更多的行,因此我正在检查IP_2
是否存在于IP
中,如下所示:
df['duplicates']=df['IP_2'].isin(df['IP'])
有没有一种更快的方法可以只获取重复的df
,而不是添加检查.isin()
方法的新列?所需的输出将是一个只包含重复值的新数据帧。
谢谢你的建议。
在我看来,集比较是最快的方法:
set_common = set(df['IP']) & set(df['IP_2'])
附言:另一种方法是实际使用IP格式(即将其转换为整数,然后进行某种比较,但这显然对一个很大的表来说是有意义的(。