Панды группируются и удаляют Дубликаты Без смещения ячеек

#python #pandas

#питон #панды

Вопрос:

У меня есть несколько большой массив (~3000 строк), где в первом столбце есть повторяющиеся строковые значения, которые имеют разные числа. Я хочу иметь возможность удалить эти дубликаты, не сдвигая ячейки в этом столбце.

Ввод

 row/rack shelf tilt row1.rack1 B 5 row1.rack1 A nan row1.rack2 C nan row1.rack2 B nan row1.rack2 A 17  

Желаемый Результат

 row/rack shelf tilt row1.rack1 B 5  A nan row1.rack2 C nan  B nan  A 17  

Есть ли хороший способ сделать это? Я искал через stackoverflow и другие сайты, но не смог найти что-то подобное

Ответ №1:

использование .duplicated и .loc

 df.loc[df['row/rack'].duplicated(keep='first'),'row/rack'] = ''  print(df)   row/rack shelf tilt 0 row1.rack1 B 5.0 1 A NaN 2 row1.rack2 C NaN 3 B NaN 4 A 17.0  

Комментарии:

1. Спасибо! Это сработало идеально

Ответ №2:

mask дубликаты с пустыми строками:

 df["row/rack"] = df["row/rack"].mask(df["row/rack"].duplicated(), "")  gt;gt;gt; df  row/rack shelf tilt 0 row1.rack1 B 5.0 1 A NaN 2 row1.rack2 C NaN 3 B NaN 4 A 17.0