Язык программирования 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', 'Column', 'value'])
Code language: JavaScript (javascript)

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

df = pd.DataFrame(np.array([ [1009, "Elemento","125"], [1009, "Elemento","-275"], [1007, "Elemento","150"], [1007, "Elemento","150"], columns=['Códe', 'Column', 'value'])
Code language: PHP (php)

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

Решение.

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

df.groupby('Códe').filter(lambda x: len(x) > 1).sort_values('Códe')
Code language: JavaScript (javascript)

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

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