<jupyter_start><jupyter_text>각 이용자별로 다음의 정보를 구하시오.- DWELLTIME ( 체류시간 ) - ST_TIME 의 총합- PAGEVIEWS ( 페이지뷰 ) - SITE_CNT 의 총합<jupyter_code>cus_df = merged_df.groupby("CUS_ID").get_group(1)
# cus_df.sort_values("TIME_ID")
merged_df.groupby("CUS_ID").agg(
    {
        "ST_TIME": {"체류시간": "sum"},
        "SITE_CNT": {"페이지뷰": "sum"},
        "SITE_NM": {"방문한 사이트 수": lambda x: np.unique(x).size},    # 접속한 서로 다른 사이트 수
        "BACT_NM": {"커버리지": lambda x: x.unique().size / 22},
        "TIME_ID": {"총 접속 일수": lambda x: x.apply(lambda y: str(y)[:8]).unique().size}
    }
)
# 성별에 따른 카테고리 접속 비중

merged_df.groupby(["GENDER", "BACT_NM"]).size().unstack()
# 일단은 하나의 그룹에 대해서 연산을 수행하자

male_group = merged_df.groupby("GENDER").get_group("남자")
male_group.BACT_NM.value_counts().sort_values(ascending=False)[:3]
# 각 그룹별 방문 횟수가 많은 사이트 카테고리 Top 5개

merged_df\
    .groupby("GENDER")\
    .apply(
        lambda x: x.BACT_NM.value_counts().sort_values(ascending=False)[:5]
    )
merged_df.BACT_NM.unique().size<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.181640625, 'fraction_numerical': 0.0068359375, 'mean_word_length': 3.8578199052132702, 'pattern_counts': {'":': 10, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '269198', 'license': 'MIT', 'n_tokens_mistral': 547, 'n_tokens_neox': 616, 'n_words': 83, 'path': '_examples/website clickstream.ipynb', 'repo_name': 'dobestan/pydata-101', 'size': '1024'}