Язык программирования Python

Как сравнить элементы одного и того же столбца в DataFrame? Python.

У меня есть DataFrame, и мне нужно сгруппировать в новый DataFrame строки, которые удовлетворяют условию равенства между элементами, находящимися в одном столбце.

Например, у меня есть следующий DataFrame:

import pandas as pd df = pd.DataFrame(np.array([ [1009, "Element1","125"], [1007, "Element2","150"], [1008, "Element2","150"], [1007, "Element2","150"], [1010, "Element3","-220"], [1009, "Element4","-275"], [1011, "Element5","500"]]), columns=['Код', 'Столбец', 'Значение'])
Code language: JavaScript (javascript)

Мне нужно внести в новый DataFrame строки, в которых значения в столбце Код равны, т.е:

df = pd.DataFrame(np.array([ [1009, "Element1","125"], [1009, "Element4","-275"], [1007, "Element2","150"], [1007, "Element2","150"], columns=['Код', 'Столбец', 'Значение'])
Code language: PHP (php)

Я думал сделать это, используя df.loc[i,’Код’] и с помощью for сравнить следующие строки, но это не сработало.

Решение.

Простой способ – это SQL-эквивалент group by having count, т.е. группировка и фильтрация по количеству случаев в каждой группе:

df.groupby('Код').filter(lambda x: len(x) > 1).sort_values('Код')
Code language: JavaScript (javascript)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *