как вернуть значения в DataFrame, индексы которых не равны индексу из списка?
Код:
uniq = df.drop_duplicates(subset='norm').index.values
df.iloc[~uniq, :]
Нужно, чтобы из df вернулись те значения, индексы которых не находятся в списке, но этот код возвращает мне таблицу уникальных значений, отсортированную в убывающем порядке по индексу.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Пример:
In [104]: df
Out[104]:
norm
0 2
1 1
2 1
3 2
4 3
In [105]: uniq = df.drop_duplicates(subset='norm').index
In [109]: res = df.loc[~df.index.isin(uniq)]
In [110]: res
Out[110]:
norm
2 1
3 2
Но можно это сделать проще, воспользовавшись DataFrame.duplicated():
In [112]: df.loc[df.duplicated(subset="norm")]
Out[112]:
norm
2 1
3 2