Task : 1
df1['new_exit_position_numeric'] = pd.cut(
df1['exit_position_numeric'],
bins=[0,5,35,90,100],
labels=['극초반', '초반','중후반', '완독']
)
Python
복사
Task : 2
# birthday 컬럼 중 NaN 값 제거
df3 = df3.dropna(subset=["birthday"])
Python
복사
실행 및 진행 사항 정리
1. df1[df1.new_exit_position_numeric.isna( )]
— exit_position_numeric == 0 일때 null 값 발생 —
Index | user_id | exit_position_numeric | new_exit_position_numeric | genre |
80 | user_0081 | 0 | NaN | 웹툰 |
258 | user_0259 | 0 | NaN | 자기계발 |
275 | user_0276 | 0 | NaN | 경제/시사 |
358 | user_0359 | 0 | NaN | 자기계발 |
382 | user_0383 | 0 | NaN | 웹툰 |
389 | user_0390 | 0 | NaN | 자기계발 |
406 | user_0407 | 0 | NaN | 웹툰 |
501 | user_0502 | 0 | NaN | 웹툰 |
523 | user_0524 | 0 | NaN | 자기계발 |
591 | user_0592 | 0 | NaN | 소설 |
592 | user_0593 | 0 | NaN | 소설 |
599 | user_0600 | 0 | NaN | 웹툰 |
632 | user_0633 | 0 | NaN | 경제/시사 |
893 | user_0894 | 0 | NaN | 자기계발 |
df3[df3.new_age.isna()]
— 10개의 NaN값 발생 —
Index | user_id | gender | birthday | birth_year | age | new_age | subscription_plan |
62 | user_0063 | male | NaN | NaN | NaN | NaN | pay_per_book |
363 | user_0364 | female | NaN | NaN | NaN | NaN | monthly |
433 | user_0434 | male | NaN | NaN | NaN | NaN | free_trial |
575 | user_0576 | male | NaN | NaN | NaN | NaN | pay_per_book |
737 | user_0738 | female | NaN | NaN | NaN | NaN | monthly |
754 | user_0755 | male | NaN | NaN | NaN | NaN | free_trial |
757 | user_0758 | male | NaN | NaN | NaN | NaN | free_trial |
835 | user_0836 | male | NaN | NaN | NaN | NaN | pay_per_book |
941 | user_0942 | female | NaN | NaN | NaN | NaN | pay_per_book |
942 | user_0943 | female | NaN | NaN | NaN | NaN | monthly |
결과
0을 -1로 변경 후 null 0개
df1['new_exit_position_numeric'] = pd.cut(
df1['exit_position_numeric'],
bins=[-1,5,35,90,100],
labels=['극초반', '초반','중후반', '완독']
)
Python
복사
결측치 제거
# birthday 컬럼 중 NaN 값 제거
df3= df3.dropna(subset=["birthday"])
Python
복사