Я часто пытаюсь выполнить следующую операцию, но есть непосредственное решение, которое наиболее эффективно для панд:
У меня есть следующий пример панд DataFrame, в котором есть два столбца, Name
и Age
:
import pandas as pd
data = [['Alex',10],['Bob',12],['Barbara',25], ['Bob',72], ['Clarke',13], ['Clarke',13], ['Destiny', 45]]
df = pd.DataFrame(data,columns=['Name','Age'], dtype=float)
print(df)
Name Age
0 Alex 10.0
1 Bob 12.0
2 Barbara 25.0
3 Bob 72.0
4 Clarke 13.0
5 Clarke 13.0
6 Destiny 45.0
Я хотел бы удалить все строки, которые имеют совпадающее значение в Name
.В примере df
есть два значения Bob
и два значения Clarke
.Таким образом, предполагаемый результат будет:
Name Age
0 Bob 12.0
1 Bob 72.0
2 Clarke 13.0
3 Clarke 13.0
, поэтому я предполагаю, что существует индекс сброса.
Один из вариантов - сохранить все уникальные значения для Name
в списке, а затем выполнить итерацию по фрейму данных, чтобы проверить наличие дублирующихся строк.Это было бы очень неэффективно.
Есть ли встроенная функция для этой задачи?