파이썬 그룹핑 (groupby)

조회수 1200회

groupping 함수를 이용하여 dataframe 의 최대/최소값을 불러오려고 합니다. 코드가 틀린건 아닌거 같은데 어떤 이유로 오류가 발생하는지 궁금합니다.

class_group=df.groupby('Pclass')   # 1,2,3등석 변수 그룹화
class_group.max()

이미지

class_group.min() 결과 역시 마찬가지로 같은 오류가 뜹니다.

  • max 함수를 쓸거면 근냥 리스트로 만들어도 상관없을텐데, 그룹화하려는 이유가 궁금합니다. 초보자 2021.2.9 18:03
  • @초보 : 질문자의 코드를 보면, (아마도) 타이타닉 데이터를 읽어서 조작하는 걸 연습하고 있는 것 같습니다. 데이터분석 등의 연습에서는 pandas dataframe 형식으로 데이터를 읽어서 이런저런 조작을 하는 게, 편리하기도 하고, de facto 표준적이기도 합니다. 질문자는 이런 pandas 의 기능을 연습하고 있는 것으로 보입니다. nowp 2021.2.9 21:55

1 답변

  • df.groupby("Pclass") 를 하면, Pclass 를 기준으로 그룹화한 그룹들이 만들어지게 됩니다.

    여기에 보통은 컬럼명을 지정하고 그 컬럼에 대해 집합적 함수를 적용합니다.

    df.groupby("Pclass")["Age"].max() 이렇게 하면, 각 그룹에서 가장 큰 나이가 나오게 됩니다.

    질문자의 코드에는 max 나 min 을 수행할 컬럼명을 명시해 주지 않았기 때문에, 모든 컬럼에 대해서 max, min 을 수행하게 됩니다. 하지만, 컬럼의 타입에 따라서, max, min 을 구할 수 없는 (일반 문자열에 대해서는 대소를 구분할 수가 없겠죠.) 컬럼들도 있기 때문에, 그런 컬럼에 대해서 에러가 발생했을 거라고 생각됩니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)