У меня есть datafrme df1 , как показано ниже: lat-long может быть дубликатом
miles uid lat_long
12 235 (45,67)
13 234 (41.09,67)
14 233 (34,55)
15 236 (12.23,65.78)
16 239 (27,34)
Я хочу удалить запись из df1 , если значение lat_long равно Я делаю это, как показано ниже, но занимаю слишком много времени.
all_lat_long = df1["lat_long"].tolist(). #list of tuples
def lat_long_check(each_coordnts):
match = re.match('^\((?P<lat>-?\d*(.\d+)),(?P<long>-?\d*(.\d+))\)$',
str(each_coordnts)) #find invalid lat-long
if match is None:
idx = df1[df1['lat_long'] == each_coordnts].index
df1.drop(idx,inplace=True)
for each_coordnts in all_lat_long:
lat_long_check(each_coordnts)
Есть ли эффективный способ сделать это для 1M записей? После того, как неправильные записи в длинных латах удалены, я хочу заполнить два новых столбца в конце df1- "Широта" и "Долгота" и заполнить соответствующие значения.