<aside> 📌 Task : 1

</aside>

df1['new_exit_position_numeric'] = pd.cut(
    df1['exit_position_numeric'],
    bins=[0,5,35,90,100],
    labels=['극초반', '초반','중후반', '완독']
)

<aside> 📌 Task : 2

</aside>

# birthday 컬럼 중 NaN 값 제거
df3 = df3.dropna(subset=["birthday"])

<aside> 📌 실행 및 진행 사항 정리

</aside>

<aside> 📌 1. df1[df1.new_exit_position_numeric.isna( )] — exit_position_numeric == 0 일때 null 값 발생 —

</aside>

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 자기계발

<aside> 📌 df3[df3.new_age.isna()] — 10개의 NaN값 발생 —

</aside>

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