python筛选出某一列中重复项_Python:在dataframe中高效地循环以查找多个列的重复项...

本文介绍了一种在Python中优化大型地理数据集的方法。通过改进循环逻辑,加速了经纬度匹配及密度值更新过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用python,我想浏览一个数据集并突出显示最常用的位置。在

这是我的数据集(但有300000多条记录):Longitude Latitude

14.28586 48.3069

14.28577 48.30687

14.28555 48.30678

14.28541 48.30673

首先,我添加了一个密度列:

^{pr2}$

这是我用来增加每个记录的密度值的代码:for index in range(0,len(df)):

for index2 in range(index + 1, len(df)):

if df['Longitude'].loc[index] == df['Longitude'].loc[index2] and df['Latitude'].loc[index] == df['Latitude'].loc[index2]:

df['Density'].loc[index] += 1

df['Density'].loc[index2] += 1

print("match")

print(str(index) + "/" + str(len(df)))

上面的代码只是在dataframe中迭代,将第一条记录与数据集中的所有其他记录进行比较(内部循环),当找到匹配项时,它们的密度值都将递增。在

我想找到匹配的经纬度,并增加它们的密度值。在

代码显然非常慢,我相信Python会有一种很酷的技术来做这样的事情,有什么想法吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值