У меня есть панды df, как показано ниже
Ниже df, в индексе 0,1
&
2,3
...... & 500,501,502
повторяющиеся значения, найденные в столбцах X & Y, и снова раунд секунд начинался с тех же повторяющихся значений в X & Столбец Y в индексе 1000, 1001 & 1002,1003 & ....1200,1201....
it goes on
, но с разными весами в столбце веса.
index x y weight
0 59.644 10.72 0.69
1 59.644 10.72 0.82
2 57.822 10.13 0.75
3 57.822 10.13 0.68
4 57.822 10.13 0.20
.
.
500 53.252 10.85 0.15
501 53.252 10.85 0.95
502 53.252 10.85 0.69
.
.
1000 59.644 10.72 0.85
1001 59.644 10.72 0.73
1002 57.822 10.13 0.92
1003 57.822 10.13 0.15
.
.
.
1200 53.252 10.85 0.78
1201 53.252 10.85 1.098
Мое требование
Я бы хотел получить свою ДФ
1) Избегайте повторяющихся / повторяющихся значений строк в X & Y, значение веса которых меньше
чем 0,60
2) Но все равно дубликаты в столбцах X & Y повторяются, поэтому теперь я хочу сравнить значения веса между дублирующимися строками и удалить строки, которые имеют меньший вес.
3) Если я использую приведенный ниже код, он удаляет все дубликаты между x &
у
df_2.groupby(['X', 'Y'], as_index=False,sort=False)['weight'].max()
Но я хочу сравнить первые найденные дубликаты и удалить их,
затем 2-й, затем 3-й и т. д., так что непрерывность дублирования
значение преобладает через несколько строк. для лучшего понимания, пожалуйста, обратитесь
ниже требуется df
Как должен выглядеть df:
index x y weight
1 59.644 10.72 0.82
2 57.822 10.13 0.75
.
.
501 53.252 10.85 0.95
.
.
1000 59.644 10.72 0.85
.
1002 57.822 10.13 0.92
.
.
1201 53.252 10.85 1.098
.
.
Я пытался использовать оператор if, но строка кода увеличивается.
Я считаю, что должен быть альтернативный питонический способ, который облегчит это. (Встроенная функция или использование numpy)
Любая помощь будет оценена.