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

560

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

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

구글 그래피티 마켓 오류...?!

0

8

2

디스코드 소통창구는 없어졌나요 ??

0

7

1

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

5

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

7

1

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

6

1

20번강좌에 대한 질문입니다.

0

6

1

6-6

0

18

1

작업형 1 유형 부분

0

19

2

수강평 이벤트

0

23

2

작업형 1 (삭제예정, 구 버전)

0

34

2

강의노트는 어디있나요?

0

21

1

노션 학습 자료 권한 요청

0

17

1

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

0

26

1

2유형 레이블 인코딩 VS 원핫 인코딩

0

26

3

part2강의 문의사항입니다.

0

23

2

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

0

28

1

인덱스 슬라이싱

0

28

2

코드를 첨부해야하는 이유가 있나요?

0

22

2

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

0

58

1

divide 함수 축 질문

0

60

1

쥬피터노트북이 안깔려요

0

451

1

pandas 연습문제 4번 관련

0

354

1

마크다운 blank line

0

813

1

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

0

599

1