【发布时间】:2020-04-03 06:57:26
【问题描述】:
我有一个如下的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)
如果 lat_long 值无效,我想从 df1 中删除该条目。我正在执行如下操作,但花费了太多时间。
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)
对于 100 万条记录,有什么有效的方法可以做到这一点吗?一旦删除了错误的经纬度条目,我想在 df1-"Latitude" 和 "Longitude" 的末尾填充两个新列并填充相应的值。
【问题讨论】: