작성
·
290
0
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): man = 0 함수에서 row.index를 하면 row는 행이고 0부터 숫자들이 쭉 적혀있는데 row의 index가 왜 column값으로 나오는지 헷갈리네요
또 sample.columns는 잘 나오는데 sample.rows를 하면 데이터프레임에서는 row값이 없다고 나오는데 그 이유가 무엇인지 모르겠습니다
이 문제와 비슷한 질문을 주신 분의 질문 답변에서도 확실히 이해를 하지 못해서 다시 질문합니다~
답변 1
0
안녕하세요.
각 자료형 별로 가지고 있는 메서드와 속성이 다르기 때문에 헷갈리실 수 있다고 생각이 듭니다!
apply 함수를 통해 파라미터로 들어오는 row는 dataframe의 행이지만, 그 데이터 타입은 series 형으로 들어오게 됩니다.
데이터프레임은 여러개의 시리즈로 구성되어 있고
데이터프레임의 컬럼은 시리즈의 인덱스입니다.
이 점을 잘 인지하시면 바로 이해가 되실 것 같습니다.
감사합니다.