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 활용 질문

571

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

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

실습 2인데 커서아이디 같은거 다운로드 안내같은건 따로없나요??

0

3

1

5. 실습 (1) 개발 환경 준비와 프로젝트 구조 03:11

0

3

0

실행이 안 되는데요.

0

3

0

print 문법 실행 안 돼요.

0

3

1

작업형2 인코딩 질문

0

16

2

작업형 3 벼락치기 공부방법 질문

0

14

2

14강의 예시 데이터를 통한 답을 구하는 과정에서의 문의

0

7

1

영문 계정

0

8

1

기출 11회 작업형 2_전체 데이터 학습 여부

0

27

2

RateLimitError

0

14

2

예측값 결과 소수점 차이

0

24

2

여태까지 발견한 이슈들 공유드립니다.

1

27

1

기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?

0

26

1

전처리 train() test([ ])

0

19

2

작업형 1 배경지식 질문

0

25

2

옳게 풀은건지 질문드립니다!

0

15

1

roc_auc_score

0

28

2

재귀함수 연산법

0

15

2

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

0

74

1

divide 함수 축 질문

0

67

1

쥬피터노트북이 안깔려요

0

461

1

pandas 연습문제 4번 관련

0

357

1

마크다운 blank line

0

821

1

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

0

604

1