inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Python (Python) và Pandas (Pandas) dành cho người mới bắt đầu, nhanh chóng nắm bắt những nội dung cốt lõi

Lời giải bài tập Pandas để xử lý dữ liệu

Pandas 연습문제 4. apply 활용 질문

607

jwjin03300540

8 câu hỏi đã được viết

0

안녕하세요, 학습하다가 이해가 되지 않는 부분이 있어 질문드립니다!

4. apply 활용

각 행에 대해 남성 인구의 합을 구하여 남자인구 합계 이름을 가진 컬럼을 생성해주세요.

위 문제에서,

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):

여기 row자리에 데이터프레임(sample)이 들어간다고 생각하면

for i in row.index의 row.index가 위에서 index로 설정해놓은 '일자' 컬럼이 될텐데 어떻게 if "남자" in i가 성립되는건가요?

밑에서 row[i]를 사용하는 거 보면 row는 데이터프레임이고 i는 컬럼명이 맞는 것 같은데 이해가 되지 않아 질문드립니다.

 

감사합니다!

pandas python

Câu trả lời 1

1

Jay

row.index는

남자0~9세남자10~14세남자15~19세남자20~24세남자25~29세남자30~34세...여자45~49세여자50~54세여자55~59세여자60~64세여자65~69세여자70~74세여자75~79세

이런식으로 데이터프레임 컬럼입니다.

if "남자" in i 는 컬럼명에 '남자'라는 문자열이 포함되어 있는지 검사합나다.

row[i]는 row의 value를 의미합니다. 즉, 인구수를 의미하게 됩니다.

추가적으로 row는 apply 함수를 통해 적용되는데이터프레임의 행입니다. 시리즈형 데이터라고 표현하는 것이 바른 표현입니다!

감사합니다.

0

jwjin03300540

row를 데이터프레임 그 자체로 착각하고 있었네요! 데이터프레임의 행이자 시리즈형 데이터라고 말씀해주시니 이해했습니다 ㅎㅎ

매번 빠르고 친절한 설명 감사드립니다.

수강 연장가능여부 문의드립니다!

0

5

1

수강기간 연장 문의드립니다!

0

16

1

최빈값

0

13

2

수강 가이드라인

0

15

2

교재 문의

0

24

2

수강 연장 가능 여부 문의

0

35

2

강의 구매했는데 교재 필수일까요

0

24

2

수강기간 연장 가부 문의드립니다.

0

24

2

수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.

0

28

2

정처기 2026-3 실기 문의

0

58

2

정처기 실기 3회 컴싸 사용 여부

0

34

1

매수하기

0

32

2

작업형2 모의문제2에서 drop이랑 인코딩

0

34

2

모의고사 1 회 2번문제 중

0

52

2

26-2 이론문제 재탕

1

40

1

26-2년도 코드문제

0

29

0

26-2 코드문제

0

31

1

15분 48초 질문

0

42

2

파이썬 연습문제 6번 관련 문의

0

110

1

divide 함수 축 질문

0

104

1

쥬피터노트북이 안깔려요

0

488

1

pandas 연습문제 4번 관련

0

388

1

마크다운 blank line

0

876

1

내국인 생활인구.csv 다운위치

0

630

1