在大Pandas身上寻找复制品的最快方法

2024-04-26 05:05:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

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值时,我试图获得重复的值IP的行数比IP_2的行数多,因此我正在检查IP_2是否存在于IP中,如下所示:

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

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

谢谢你的建议


Tags: 数据方法ipdfdatenannat建议
1条回答
网友
1楼 · 发布于 2024-04-26 05:05:13

在我看来,设置比较似乎是最快的方法:

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

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

相关问题 更多 >