inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Đi thẳng vào vấn đề, Python và Pandas dành cho người mới bắt đầu

Giải bài tập Pandas xử lý dữ liệu

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

594

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.indexrow.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를 데이터프레임 그 자체로 착각하고 있었네요! 데이터프레임의 행이자 시리즈형 데이터라고 말씀해주시니 이해했습니다 ㅎㅎ

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

Opus/Sonnet 버전 관련 문의

0

9

1

"run_nvidia_gpu.bat" 실행후

0

8

1

섹션2 질문이요

0

14

1

섹션 2

0

9

1

섹션1.9 질문입니다!

0

18

2

웹서비스 방법

0

19

1

MCP 정의가 잘못되어 있음 (Chapter2)

0

21

1

수강 연장 문의드립니다.

0

24

2

13. (App 2) 기본기 훈련 에서

0

26

1

채점 프로그램 미작동

0

18

2

챌린지 시작일 문의

0

27

0

2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중

0

26

1

안녕하세요 ppt 자료 메일로 부탁드립니다

0

17

1

11차시 Antigravity IDE 설치 후

0

26

1

링크드 리스트 중간 삽입삭제 시간복잡도 질문

0

26

1

Kaggle 노트북(predict.ipynb) 관련

0

30

1

처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법

0

31

1

강의 연장 문의

0

30

2

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

0

89

1

divide 함수 축 질문

0

87

1

쥬피터노트북이 안깔려요

0

475

1

pandas 연습문제 4번 관련

0

375

1

마크다운 blank line

0

862

1

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

0

617

1