【초보자용 핸즈온】kaggle의 「주택 가격을 예측한다」를 1행씩 읽는다(제4회:결손치의 보완(완))
제목
유명한 제목인 kaggle의 「House Price」문제에 모두 도전해 가게 된 핸즈온의 내용을 메모해 가는 기획의 제4회. 해설이라기보다는 메모의 정리이기도 합니다만, 어딘가의 누군가를 위해서 되면 다행입니다. 4번째가 되면 서서히 서서히 모여왔다는 인상.
오늘 작업
결손치 보완
전회까지 했던 것은, 「결손값을 포함한 index를 배열로 취득한다」라고 하는 녀석이었습니다.
(그러고 보니 "python은 배열의 개념이 다양하고 귀찮다"는 것을 흐리게 생각합니다)
# データ型に応じて欠損値を補完する
# floatの場合は0
# objectの場合は'NA'
na_float_cols = alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='float64'].index.tolist() #float64
na_obj_cols = alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='object'].index.tolist() #object
# float64型で欠損している場合は0を代入
for na_float_col in na_float_cols:
alldata.loc[alldata[na_float_col].isnull(),na_float_col] = 0.0
# object型で欠損している場合は'NA'を代入
for na_obj_col in na_obj_cols:
alldata.loc[alldata[na_obj_col].isnull(),na_obj_col] = 'NA'
수치형으로 결측치를 가지는 index들
※이것의 자세한 것은 제3회에서 했으므로 할애.
alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='float64'].index.tolist()
범주형 변수에서 누락된 값을 가진 인덱스
※이것의 자세한 것은 제3회에서 한 녀석과 거의 같기 때문에 할애.
alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='object'].index.tolist()
수치형의 결손치를 대입
for na_float_col in na_float_cols:
alldata.loc[alldata[na_float_col].isnull(),na_float_col] = 0.0
이번에도 반복 for for에 대해
이번에 for에 대해 제대로 읽어 본다. PHP로 기술하는 것과 변수와 객체의 순서가 역(말하는 방법 올바른지 불명)이군요.
* for에 대한 참고: htps : // 우데 my. 베네세. 이. jp / 로 ゔ ぉ p 맨 t / ぇ b / py 텐 - 후 r. HTML
* 이번 변수: no_float_col
* 이번 반복 내의 객체 : no_float_cols
끈질긴하지만.isnull()
na_float_col
와 alldata[na_float_col]
를 출력해 본다. 내용을 우선 보는 것은, 반복 처리의 동작 확인을 하는데 있어서의 철판이군요.
# データ型に応じて欠損値を補完する
# floatの場合は0
# objectの場合は'NA'
na_float_cols = alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='float64'].index.tolist() #float64
na_obj_cols = alldata[na_col_list].dtypes[alldata[na_col_list].dtypes=='object'].index.tolist() #object
# float64型で欠損している場合は0を代入
for na_float_col in na_float_cols:
alldata.loc[alldata[na_float_col].isnull(),na_float_col] = 0.0
# object型で欠損している場合は'NA'を代入
for na_obj_col in na_obj_cols:
alldata.loc[alldata[na_obj_col].isnull(),na_obj_col] = 'NA'
for na_float_col in na_float_cols:
alldata.loc[alldata[na_float_col].isnull(),na_float_col] = 0.0
na_float_col
의 1회째「결손치가 포함되는 index」의 명칭이 나오네요.
alldata[na_float_col]
의 1회째「결손치가 포함되는 index」의 값의 배열이 나오네요.
isnull()
를 사용하여 각 값이 null인지 여부를 결정합니다.alldata[na_float_col].isnull()
출력.loc 정보
alldata.loc[alldata[na_float_col].isnull(),na_float_col]
* .log : 아무래도 행렬적으로, 행·열로 값을 보거나 출력하는 데 사용할 수 있는 모습* .loc 참조 : h tps : //에서. 응 kmk. 메 / py-ten-panda s-o-t-a-t-c-i-c /
*
alldata.loc[alldata[na_float_col].isnull(),na_float_col]
출력 결과누락 값에 값 설정
행렬적으로 지정하고, 결측값의 곳에만 「0.0」을 넣는다.
alldata.loc[alldata[na_float_col].isnull(),na_float_col] = 0.0
범주형 변수의 누락 값 보완
※ 거의 같기 때문에 할애합니다.
누락 값 보완 결과
1개씩의 항목은 너무 미세해서 볼 수 없지만, 이것으로 갈 수 있을 것이다.
alldata
의 출력 결과범주형 변수 더미화
을 하려고 했는데 시간이 다 되었기 때문에, 「카테고리 칼 변수의 더미화」의 예습으로 해 끝내고 싶습니다. 분석할 수 있다 그래야 수치화하는 느낌? . . ?
끝.
결손치의 보완,, 생각보다 읽어내는데 시간이 걸려 버렸습니다. 이것이 1행에 처리를 무엇이든 채우는 Python의 함정이라면(된다면 함정이라도 아무것도 없어지면 됩니다만).
이제 실제 처리가 다가오고 입고 있는 냄새가 와서 두근두근 해 옵니다.
Reference
이 문제에 관하여(【초보자용 핸즈온】kaggle의 「주택 가격을 예측한다」를 1행씩 읽는다(제4회:결손치의 보완(완))), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/WdknWdkn/items/b3ec4606d533770e5eb5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【초보자용 핸즈온】kaggle의 「주택 가격을 예측한다」를 1행씩 읽는다(제4회:결손치의 보완(완))), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/WdknWdkn/items/b3ec4606d533770e5eb5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)