인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

newsmile3님의 프로필 이미지
newsmile3

작성한 질문수

핵심만 빠르게, 입문자를 위한 파이썬(Python)과 판다스(Pandas)

pandas 연습문제 4번 관련

작성

·

290

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

Jiwoon Jeong님의 프로필 이미지
Jiwoon Jeong
지식공유자

안녕하세요.

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

 

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

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

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

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

 

감사합니다.

newsmile3님의 프로필 이미지
newsmile3

작성한 질문수

질문하기