Как удалить повторяющиеся строки, охватывающие два индекса данных в Python - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть следующий фрейм данных:

import pandas as pd
d = {'location1': [1, 2,3,8,6], 'location2': 
[2,1,4,6,8]}
df = pd.DataFrame(data=d)

Фрейм данных df означает, что между двумя точками есть дорога. выглядеть как:

   location1    location2
0   1               2 
1   2               1
2   3               4 
3   8               6 
4   6               8

Первая строка означает, что между locationID1 и locationID2 существует дорога, однако вторая строка также кодирует эту информацию. Четвертый и пятый ряды также содержат повторяющуюся информацию. Я пытаюсь удалить те, которые повторяются, сохраняя только один ряд. Любой из рядов в порядке.

Например, мой ожидаемый результат -

   location1    location2
0   1               2 
2   3               4 
4   6               8

Любой эффективный способ сделать это, потому что у меня большой массив данных с большим количеством повторяющихся строк.

Большое спасибо,

1 Ответ

1 голос
/ 24 апреля 2019

Похоже, вам нужны все остальные строки в вашем фрейме данных.Это должно работать.

import pandas as pd
d = {'location1': [1, 2,3,8,6], 'location2': 
[2,1,4,6,8]}
df = pd.DataFrame(data=d)

print(df)

   location1  location2
0          1          2
1          2          1
2          3          4
3          8          6
4          6          8

def Every_other_row(a):
    return a[::2]

Every_other_row(df)

   location1  location2
0          1          2
2          3          4
4          6          8
...