• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

pandas 연습문제 4번 관련

22.11.20 13:59 작성 조회수 182

0

def getManPopulation(row): man = 0 for i in row.index: if "남자" in i: man += row[i] return man sample['남자인구 합계'] = sample.apply(getManPopulation, axis=1) sample.head()

 

이 코드에서 정의한 getManPopulation(row): man = 0 함수에서 row.index를 하면 row는 행이고 0부터 숫자들이 쭉 적혀있는데 row의 index가 왜 column값으로 나오는지 헷갈리네요

또 sample.columns는 잘 나오는데 sample.rows를 하면 데이터프레임에서는 row값이 없다고 나오는데 그 이유가 무엇인지 모르겠습니다

이 문제와 비슷한 질문을 주신 분의 질문 답변에서도 확실히 이해를 하지 못해서 다시 질문합니다~

답변 1

답변을 작성해보세요.

0

안녕하세요.

각 자료형 별로 가지고 있는 메서드와 속성이 다르기 때문에 헷갈리실 수 있다고 생각이 듭니다!

 

apply 함수를 통해 파라미터로 들어오는 row는 dataframe의 행이지만, 그 데이터 타입은 series 형으로 들어오게 됩니다.

데이터프레임은 여러개의 시리즈로 구성되어 있고

데이터프레임의 컬럼은 시리즈의 인덱스입니다.

이 점을 잘 인지하시면 바로 이해가 되실 것 같습니다.

 

감사합니다.