4
"웹 사이트"열의 값이 두 번 이상 나타나는 모든 행을 표시하려고합니다. 예를 들어, 특정 웹 사이트 "xyz.com"이 두 번 이상 나타나는 경우 해당 행을 모두 표시하려고합니다. 아래 코드를 사용하고 있습니다. -특정 열의 값이 두 번 이상 나타나는 행 표시
df[df.website.isin(df.groupby('website').website.count() > 1)]
위의 코드는 0 행을 반환합니다. 나는 이러한 모든 행을 표시하는 코드의 제 1 라인을 수정하는 방법
df.website.value_counts()
-하지만 실제로 아래의 코드를 실행하여 한 번 이상 발생하는 많은 웹 사이트가 있다는 것을 볼 수 있습니까? subset='website'
및 keep=False
와
! 감사. 또 다른 혼란이 있습니다. 위의 코드 줄을 사용한 후에는 200 행 (200 행에는 중복 웹 사이트가 있음)이 표시됩니다. df.drop_duplicates (하위 집합 = '웹 사이트')를 사용하면 2500 개의 행이 삭제됩니다. 왜 그런 일이 일어나는거야? 그냥 200 행을 떨어 뜨리지 않을까요? – ComplexData
모든 중복을 삭제하려면'df.drop_duplicates (subset = 'website', keep = False)'를 사용하십시오. 디폴트로,'drop_duplicates'는 복제본의 첫 번째 인스턴스를 유지하고 나머지는'keep '으로 달리 지정하지 않는 한 삭제합니다. 그것은 당신이보고있는 행동을 설명하지 못하며,'drop_duplicates' 테스트는 저에게 예상대로 작동합니다. – root
좀 더 깊이 파고 '누락'된 행이 'duplicated' 출력에 없는지 확인할 수 있습니다. 이를 조사하면 불일치를 설명하는 데 도움이 될 수 있습니다. – root