drop_duplicates () перестал работать в пандах Python - PullRequest
0 голосов
/ 27 ноября 2018

Этот код ранее работал в Python 3 для удаления дублирующихся значений, но сохраняет первое вхождение во всем фрейме данных.После возвращения к моему сценарию это больше не удаляет дубликаты в dataFrame pandas.

df = df.apply(lambda x: x.drop_duplicates(), axis=1)

, поэтому, если у меня есть

a   b  c
0   1  2
3   4  0
0   8  9
10  0  11

, я хочу получить в качестве вывода

a  b  c
0  1  2
3  4  
   8  9
10   11

Я не против, если пробелы возвращаются как 'nan'

Я также попробовал следующие

df.drop_duplicates(subset = None, keep='first')

и

df.drop_duplicates(subset = None, keep='first', inplace =True)

Любые советы / альтернативы будут приветствоваться!

Ответы [ 2 ]

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

После того как вы приложили данные, я думаю, вы можете использовать duplicated

newdf=df[~df.stack().duplicated().unstack()]
newdf
Out[131]: 
      a    b     c
0   0.0  1.0   2.0
1   3.0  4.0   NaN
2   NaN  8.0   9.0
3  10.0  NaN  11.0
0 голосов
/ 27 ноября 2018

Вам нужно inplace, чтобы быть Истиной:

df.drop_duplicates(subset=None, keep='first', inplace=True)
...