Pandas 연습문제 4. apply 활용 질문
572
8 asked
안녕하세요, 학습하다가 이해가 되지 않는 부분이 있어 질문드립니다!
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는 컬럼명이 맞는 것 같은데 이해가 되지 않아 질문드립니다.
감사합니다!
Answer 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
row를 데이터프레임 그 자체로 착각하고 있었네요! 데이터프레임의 행이자 시리즈형 데이터라고 말씀해주시니 이해했습니다 ㅎㅎ
매번 빠르고 친절한 설명 감사드립니다.
멍슨상이라 이름 변경하시는 게 어떠신지요?
1
12
0
수업 노트가 안 보입니다.
0
14
1
Python formatter 설치
0
11
1
55강 파이썬에만있는 연산자들
0
10
1
55강의 파이썬에서만 있는 연산자들
0
9
1
주말에 실행할 경우 update_economic_data_in_background에 로직 변경 필요성
1
17
1
naver 글자 수집 오류 건
0
15
1
쥬피터 노트북이 실행이 안됩니다.
0
17
1
뒤로가기 버튼 같은 것이 있나요?
0
21
1
Replit 강의 자료가 안나와요
0
16
1
강의 연장 문의
0
18
1
프로그램 실행시간에 대한 질문
1
20
2
비중 및 매수 종목수 조정.
1
23
2
Claude api가 소식 동기화가 늦는 문제
1
35
2
[긴급요청2] 28강 동영상 오류(27강 음성 재생) 수정 예정일자를 알려주세요
0
22
1
codex에게 대용량 코드베이스를 인식 시키는 방법은 어떤게 있나요?
0
29
1
출력값 질문
0
26
2
슬롯 관련 문의
1
26
2
파이썬 연습문제 6번 관련 문의
0
75
1
divide 함수 축 질문
0
69
1
쥬피터노트북이 안깔려요
0
461
1
pandas 연습문제 4번 관련
0
357
1
마크다운 blank line
0
823
1
내국인 생활인구.csv 다운위치
0
604
1

