Как удалить дубликаты между двумя столбцами, но сохранить уникальные значения в соответствующих столбцах? - PullRequest
0 голосов
/ 27 октября 2018

У меня есть df, который выглядит так;

col1     col2  
aa       aa
cc       bb
dd       dd 

Как сравнить оба столбца в одном и том же df, но отбросить дубликаты и сохранить уникальные в соответствующих столбцах?

новый df:

col1     col2  
cc       bb

Ответы [ 3 ]

0 голосов
/ 27 октября 2018

Это должно сработать:

df[df[col1] != df[col2]]
0 голосов
/ 27 октября 2018

Если вы просто хотите извлечь строки, которые имеют одинаковое значение по столбцам, это должно быть сделано.

import pandas as pd

data = {'a':[40, 30, 10],
       'b':[40, 20, 10]}
df = pd.DataFrame(data)
df = df[~(df['a']==df['b'])]

Вывод

>>> df
    a   b
0  10  40
2  30  10
0 голосов
/ 27 октября 2018

Мы можем создать фильтр, который проверяет, отличается ли значение df.col1 от df.col2, а затем фильтр, например:

df[df.col1 != df.col2]

Например:

>>> df = pd.DataFrame([['aa', 'aa'], ['cc', 'bb'], ['dd', 'dd']], columns=['col1', 'col2'])
>>> df
  col1 col2
0   aa   aa
1   cc   bb
2   dd   dd
>>> df[df.col1 != df.col2]
  col1 col2
1   cc   bb

Здесь мы создаем новый фрейм данных, но, таким образом, мы можем установить df на новый фрейм данных, например:

df = df[df.col1 != df.col2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...