Pandas 연습문제 4. apply 활용 질문
561
작성한 질문수 8
안녕하세요, 학습하다가 이해가 되지 않는 부분이 있어 질문드립니다!
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는 컬럼명이 맞는 것 같은데 이해가 되지 않아 질문드립니다.
감사합니다!
답변 1
1
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
15
1
평가지표 F1 스코어 질문드립니다.
0
10
2
강의 일정
0
18
2
replit에서 developer frameworks가 안보여요
0
11
2
Notion 권한 승인 요청 드립니다.
0
16
1
가상환경 설정시 문의
0
20
2
개발환경에 대해셔 설명부탁드립니다.
0
16
1
파트9 강의는 언제 오픈하시나요
0
20
2
20년 4,5회 13번
0
17
1
작업형 2 기출7회분에서
0
25
2
11. 데이터를 목록화하는 리스트와 튜플 에서 콘솔 실행시
0
19
1
ZIP 파일
0
21
2
26강 13F 강의 불일치 및 질문 요청
0
25
3
[업로드오류] 강의 내용과 제목 불일치
0
23
2
강의와는 별개로...
0
31
3
[예제002] 에서 파인썬 인터프리터가 없습니다
0
33
3
65강 소리
0
19
1
작업형2 모의문제1 (30강)
0
25
2
파이썬 연습문제 6번 관련 문의
0
60
1
divide 함수 축 질문
0
60
1
쥬피터노트북이 안깔려요
0
452
1
pandas 연습문제 4번 관련
0
354
1
마크다운 blank line
0
813
1
내국인 생활인구.csv 다운위치
0
599
1





