카디널리티(cardinality)는 상대적인 개념으로 전체 행에 대한 특정 컬럼의 중복 수치를 나타내는 지표이다.
중복도가 ‘낮으면’ 카디널리티가 ‘높다’고 표현한다.
중복도가 ‘높으면’ 카디널리티가 ‘낮다’고 표현한다.
주민등록번호 같은 경우는 중복되는 값이 없으므로 카디널리티가 높다고 할 수 있다. 반면 이름은 중복되는 값이 많으므로 ‘주민등록번호에 비해’ 카디널리티가 낮다고 할 수 있다.
distinct 값이 많다는건 중복도가 낮다는 의미이다.
.sort_values(by='unique')
함수의 결과값을 distinct 값이라고 봐도 괜찮을 것 같다. distinct 값이 많으면 중복도가 낮다라는 의미이므로 카디널리티가 높다고 할 수 있다.
인덱스를 걸 때, 내가 원하는 데이터가 인덱스를 통해 최대한 많이 걸러져야 성능이 좋다고 할 수 있다. 여러 컬럼을 동시에 인덱싱할 때, 카디널리티가 높은 컬럼을(중복이 적은 컬럼을) 우선 순위로 두는 것이 인덱싱 전략에 유리하다.