删除DataFrames中的双重性(对等)

时间:2017-10-16 08:15:10

标签: python duplicates

我正在尝试删除数据框中的重复元素。此DataFrame来自计算给定地理坐标列表之间的距离。正如您在下面的DataFrame中看到的那样,数据是重复的,但我无法将索引设置为'dist',因为在其他情况下,距离可能是0或1(重复),然后重要数据将被丢弃。

import pandas as pd
df = pd.DataFrame({'Name_x':['a','b','c','d'],
            'Name_y':['b','a','d','c'],
            'Latitude_x':['lat_a','lat_b','lat_c','lat_d'],
            'Longitude_x':['long_a','long_b','long_c','long_d'],
            'Latitude_y':['lat_b','lat_a','lat_d','lat_c'],
            'Longitude_y':['long_b','long_a','long_d','long_c'],
            'dist':[0,0,1,1]})
df

在这种情况下,我想继续使用值Name_x:['a','c'],Name_y ['b','d']和相应的地理坐标:Latitude_x:['lat_a','lat_c '],Latitude_y:['lat_b','lat_d'],Longitude_x:['long_a','long_c'],Longitude_y:['long_b','long_d']。

1 个答案:

答案 0 :(得分:0)

我不确定你是否想要这个:

df['Name_x'].eq(df['Name_y'].shift()) # filter by equals for name

df.loc[df['Name_x'].eq(df['Name_y'].shift())] # Your "unique" rows