Pandas의 여러 열에서 고유한 값을 찾는 방법


종종 Pandas DataFrame의 여러 열에서 고유한 값을 모두 찾고 싶을 수도 있습니다. 다행히도 pandas Unique() 함수와 ravel() 함수를 결합하면 이 작업을 쉽게 수행할 수 있습니다.

  • Unique() : 나타나는 순서대로 고유한 값을 반환합니다.
  • ravel(): 일련의 평면화된 데이터를 반환합니다.

예를 들어 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e'],
                   'col2': ['a', 'c', 'e', 'f', 'g'],
                   'col3': [11, 8, 10, 6, 6]})

#view DataFrame 
print(df)

  col1 col2 col3
0 aa 11
1 bc 8
2 this 10
3 df 6
4 eg 6

고유한 값의 배열을 반환합니다.

다음 코드는 col1col2 에서 고유한 값을 찾는 방법을 보여줍니다.

 p.d. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

array(['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype=object)

결과에서 a, b, c, d, e, f, g 두 열에 7개의 고유 값이 있음을 알 수 있습니다.

고유한 값의 DataFrame을 반환합니다.

이 값을 배열 대신 DataFrame으로 반환하려면 다음 코드를 사용하면 됩니다.

 unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

p.d. DataFrame (unique)

	0
0 a
1b
2 tbsp
3rd
4 d
5f
6g

고유한 값의 수를 반환합니다.

여러 열의 고유 값 수를 알고 싶다면 다음 코드를 사용할 수 있습니다.

 unique = pd. unique (df[[' col1 ', ' col2 ']]. values . ravel ())

len (unique)
7

이는 이 두 열에 7개의 고유한 값이 있음을 알려줍니다.

추가 리소스

여러 열에 걸쳐 Pandas DataFrame을 병합하는 방법
여러 조건에서 Pandas DataFrame을 필터링하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다