본문 바로가기

머신러닝 공부

Pandas(판다스) - value_counts method

SMALL

value_counts()

 

동일한 개별 데이터 값이 몇 건 있는지 정보를 제공합니다. 즉, 개별 데이터값의 분포도를 제공합니다. value_counts()는 과거에는 Series객체에서만 호출 될 수 있었지만 현재에는 DataFrame에서도 호출가능합니다.

 

value_counts() 메소드를 사용할 때는 Null 값을 무시하고 결과값을 내놓기 쉽습니다. value_counts()는 Null값을 포함하여 개별 데이터 값의 건수를 계산할지 여부를 dropna 인자로 판단 합니다. dropna는 디폴트로 True값을 가지며 이 경우에는 Null 값을 무시하고 개별 데이터 값의 건수를 계산하게됩니다.

 

titanic_df에서 Pclass에 해당 series안에 value들이 count가 되어 나오게 됩니다. 위와 같이 Pclass3이 491개가 있다는 뜻입니다.

이때 출력 시 순서가 무조건 정렬이 되어 나오게 됩니다. 높은 건수 순으로 정렬이 됩니다.

Pclass는 전부 count된 value들을 합치면 891건입니다. 따라서 빠진 건수가 없는데, titanic_df에서 Embarked라는 데이터는 총 데이터가 889건으로 Null값이 포함되어 있습니다.

이와 같이 총 titanic_df 데이터 건수는 891건이지만 Embarked에 해당하는 데이터 건수를 value_counts를 하면 전체 데이터는 889건이 나오게 됩니다. 만약 인자로 dropna = False로 받는다면 (디폴트 값은 True 입니다.) 밑에 NaN이 새로 생기며 Null 값 2건이 출력이 되는 것을 볼 수 있습니다.

따라서 데이터 총 건수랑 count된 값이 서로 다를 경우 dropna = True로 되어서 null 건수가 안나오는 것이므로 이 경우를 유의하면 됩니다.

이와 같이 DataFrame도 value_counts()를 할 수 있게 됐습니다. (예전 pandas version은 그게 안됐음.)

만약 단일 [ ] 만 있다면 series형태로 value_counts가 진행이 되고 위와같이 DataFrame형태로 진행이 되기 위해서는 [[ ]]이중으로 괄호를 쳐야 출력이 됩니다. (내부는 리스트 형으로  column들을 넣어줍니다.)

LIST

'머신러닝 공부' 카테고리의 다른 글

Pandas (판다스) - Index  (0) 2023.02.04
Pandas(판다스) - DataFrame  (0) 2023.02.04
판다스(pandas) - 기본 API (2)  (0) 2023.02.03
판다스(Pandas)와 기본 API (1)  (0) 2023.02.03
numpy ndarray의 sort & argsort  (0) 2023.02.01