Files
dano2025/preanalysis_old_bad/01_load_and_clean.ipynb
2025-12-14 17:07:57 +03:00

2384 lines
193 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "9329c5bc",
"metadata": {},
"source": [
"# 01. Загрузка, структура и первичная чистка\n",
"\n",
"Цели: понять схему данных, проверить пропуски/аномалии, стандартизировать категориальные признаки и подготовить базовые фичи (totals, CTR/CR, флаги)."
]
},
{
"cell_type": "code",
"id": "d95e51be",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:34.945440Z",
"start_time": "2025-12-05T18:56:34.939453Z"
}
},
"source": [
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from pathlib import Path\n",
"from eda_utils import (\n",
" load_data, DATA_PATH, CATEGORIES, ACTIVE_IMP_COLS, PASSIVE_IMP_COLS,\n",
" ACTIVE_CLICK_COLS, PASSIVE_CLICK_COLS, ORDER_COLS, NUMERIC_COLS, CAT_COLS,\n",
" describe_zero_share, safe_divide, build_daily, build_client, add_contact_density\n",
")\n",
"pd.set_option(\"display.max_columns\", None)\n",
"pd.options.display.float_format = '{:,.3f}'.format\n",
"sns.set_theme(style=\"ticks\", palette=\"deep\")\n"
],
"outputs": [],
"execution_count": 20
},
{
"cell_type": "code",
"id": "314922b8",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.382790Z",
"start_time": "2025-12-05T18:56:34.963314Z"
}
},
"source": [
"raw_df = pd.read_csv(DATA_PATH)\n",
"df = load_data()\n",
"print(f'Raw shape: {raw_df.shape}, clean shape: {df.shape}')"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Raw shape: (118189, 35), clean shape: (118189, 52)\n"
]
}
],
"execution_count": 21
},
{
"cell_type": "code",
"id": "c7980291",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.431410Z",
"start_time": "2025-12-05T18:56:35.400332Z"
}
},
"source": [
"import io\n",
"buf_raw, buf_clean = io.StringIO(), io.StringIO()\n",
"raw_df.info(buf=buf_raw)\n",
"df[raw_df.columns].info(buf=buf_clean)\n",
"print('Raw info:\\n', buf_raw.getvalue())\n",
"print('Clean info:\\n', buf_clean.getvalue())"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Raw info:\n",
" <class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 118189 entries, 0 to 118188\n",
"Data columns (total 35 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 id 118189 non-null int64 \n",
" 1 business_dt 118189 non-null object \n",
" 2 active_imp_ent 118189 non-null float64\n",
" 3 active_click_ent 118189 non-null float64\n",
" 4 active_imp_super 118189 non-null float64\n",
" 5 active_click_super 118189 non-null float64\n",
" 6 active_imp_transport 118189 non-null float64\n",
" 7 active_click_transport 118189 non-null float64\n",
" 8 active_imp_shopping 118189 non-null float64\n",
" 9 active_click_shopping 118189 non-null float64\n",
" 10 active_imp_hotel 118189 non-null int64 \n",
" 11 active_click_hotel 118189 non-null int64 \n",
" 12 active_imp_avia 118189 non-null int64 \n",
" 13 active_click_avia 118189 non-null int64 \n",
" 14 passive_imp_ent 118189 non-null float64\n",
" 15 passive_click_ent 118189 non-null float64\n",
" 16 passive_imp_super 118189 non-null float64\n",
" 17 passive_click_super 118189 non-null float64\n",
" 18 passive_imp_transport 118189 non-null float64\n",
" 19 passive_click_transport 118189 non-null float64\n",
" 20 passive_imp_shopping 118189 non-null float64\n",
" 21 passive_click_shopping 118189 non-null float64\n",
" 22 passive_imp_hotel 118189 non-null int64 \n",
" 23 passive_click_hotel 118189 non-null int64 \n",
" 24 passive_imp_avia 118189 non-null int64 \n",
" 25 passive_click_avia 118189 non-null int64 \n",
" 26 orders_amt_ent 118189 non-null int64 \n",
" 27 orders_amt_super 118189 non-null int64 \n",
" 28 orders_amt_transport 118189 non-null int64 \n",
" 29 orders_amt_shopping 118189 non-null int64 \n",
" 30 orders_amt_hotel 118189 non-null int64 \n",
" 31 orders_amt_avia 118189 non-null int64 \n",
" 32 gender_cd 118189 non-null object \n",
" 33 age 118189 non-null int64 \n",
" 34 device_platform_cd 118189 non-null object \n",
"dtypes: float64(16), int64(16), object(3)\n",
"memory usage: 31.6+ MB\n",
"\n",
"Clean info:\n",
" <class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 118189 entries, 0 to 118188\n",
"Data columns (total 35 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 id 118189 non-null int64 \n",
" 1 business_dt 118189 non-null datetime64[ns]\n",
" 2 active_imp_ent 118189 non-null float64 \n",
" 3 active_click_ent 118189 non-null float64 \n",
" 4 active_imp_super 118189 non-null float64 \n",
" 5 active_click_super 118189 non-null float64 \n",
" 6 active_imp_transport 118189 non-null float64 \n",
" 7 active_click_transport 118189 non-null float64 \n",
" 8 active_imp_shopping 118189 non-null float64 \n",
" 9 active_click_shopping 118189 non-null float64 \n",
" 10 active_imp_hotel 118189 non-null int64 \n",
" 11 active_click_hotel 118189 non-null int64 \n",
" 12 active_imp_avia 118189 non-null int64 \n",
" 13 active_click_avia 118189 non-null int64 \n",
" 14 passive_imp_ent 118189 non-null float64 \n",
" 15 passive_click_ent 118189 non-null float64 \n",
" 16 passive_imp_super 118189 non-null float64 \n",
" 17 passive_click_super 118189 non-null float64 \n",
" 18 passive_imp_transport 118189 non-null float64 \n",
" 19 passive_click_transport 118189 non-null float64 \n",
" 20 passive_imp_shopping 118189 non-null float64 \n",
" 21 passive_click_shopping 118189 non-null float64 \n",
" 22 passive_imp_hotel 118189 non-null int64 \n",
" 23 passive_click_hotel 118189 non-null int64 \n",
" 24 passive_imp_avia 118189 non-null int64 \n",
" 25 passive_click_avia 118189 non-null int64 \n",
" 26 orders_amt_ent 118189 non-null int64 \n",
" 27 orders_amt_super 118189 non-null int64 \n",
" 28 orders_amt_transport 118189 non-null int64 \n",
" 29 orders_amt_shopping 118189 non-null int64 \n",
" 30 orders_amt_hotel 118189 non-null int64 \n",
" 31 orders_amt_avia 118189 non-null int64 \n",
" 32 gender_cd 118189 non-null object \n",
" 33 age 118189 non-null int64 \n",
" 34 device_platform_cd 118189 non-null object \n",
"dtypes: datetime64[ns](1), float64(16), int64(16), object(2)\n",
"memory usage: 31.6+ MB\n",
"\n"
]
}
],
"execution_count": 22
},
{
"cell_type": "code",
"id": "0d18c485",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.449657Z",
"start_time": "2025-12-05T18:56:35.440402Z"
}
},
"source": [
"df.head(5)"
],
"outputs": [
{
"data": {
"text/plain": [
" id business_dt active_imp_ent active_click_ent active_imp_super \\\n",
"0 7119 2025-04-02 0.000 0.000 3.000 \n",
"1 1797 2025-08-27 1.000 1.000 0.000 \n",
"2 8010 2025-07-10 0.000 0.000 1.000 \n",
"3 2360 2025-08-10 0.000 0.000 0.000 \n",
"4 3457 2025-05-23 0.000 0.000 1.000 \n",
"\n",
" active_click_super active_imp_transport active_click_transport \\\n",
"0 1.000 1.000 0.000 \n",
"1 0.000 0.000 0.000 \n",
"2 1.000 0.000 0.000 \n",
"3 0.000 0.000 1.000 \n",
"4 0.000 0.000 0.000 \n",
"\n",
" active_imp_shopping active_click_shopping active_imp_hotel \\\n",
"0 1.000 0.000 0 \n",
"1 0.000 0.000 0 \n",
"2 0.000 0.000 0 \n",
"3 0.000 0.000 0 \n",
"4 3.000 1.000 0 \n",
"\n",
" active_click_hotel active_imp_avia active_click_avia passive_imp_ent \\\n",
"0 0 0 0 0.000 \n",
"1 0 3 0 2.000 \n",
"2 0 0 0 1.000 \n",
"3 0 0 0 0.000 \n",
"4 0 0 0 0.000 \n",
"\n",
" passive_click_ent passive_imp_super passive_click_super \\\n",
"0 0.000 0.000 0.000 \n",
"1 0.000 1.000 0.000 \n",
"2 0.000 1.000 0.000 \n",
"3 0.000 0.000 0.000 \n",
"4 0.000 0.000 0.000 \n",
"\n",
" passive_imp_transport passive_click_transport passive_imp_shopping \\\n",
"0 0.000 0.000 0.000 \n",
"1 2.000 0.000 1.000 \n",
"2 1.000 0.000 1.000 \n",
"3 1.000 0.000 0.000 \n",
"4 0.000 0.000 0.000 \n",
"\n",
" passive_click_shopping passive_imp_hotel passive_click_hotel \\\n",
"0 0.000 2 0 \n",
"1 0.000 0 0 \n",
"2 0.000 0 0 \n",
"3 0.000 1 0 \n",
"4 0.000 2 0 \n",
"\n",
" passive_imp_avia passive_click_avia orders_amt_ent orders_amt_super \\\n",
"0 0 0 0 0 \n",
"1 5 0 0 0 \n",
"2 1 0 0 0 \n",
"3 1 0 0 0 \n",
"4 0 0 0 0 \n",
"\n",
" orders_amt_transport orders_amt_shopping orders_amt_hotel \\\n",
"0 0 0 0 \n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"\n",
" orders_amt_avia gender_cd age device_platform_cd age_group \\\n",
"0 0 F 40 iOS 35-44 \n",
"1 0 M 38 iOS 35-44 \n",
"2 0 M 51 Android 45-54 \n",
"3 0 M 37 iOS 35-44 \n",
"4 0 F 27 iOS 25-34 \n",
"\n",
" active_imp_total passive_imp_total active_click_total \\\n",
"0 5.000 2.000 1.000 \n",
"1 4.000 11.000 1.000 \n",
"2 1.000 5.000 1.000 \n",
"3 0.000 3.000 1.000 \n",
"4 4.000 2.000 1.000 \n",
"\n",
" passive_click_total orders_amt_total click_total imp_total active_ctr \\\n",
"0 0.000 0 1.000 7.000 0.200 \n",
"1 0.000 0 1.000 15.000 0.250 \n",
"2 0.000 0 1.000 6.000 1.000 \n",
"3 0.000 0 1.000 3.000 NaN \n",
"4 0.000 0 1.000 6.000 0.250 \n",
"\n",
" passive_ctr ctr_all cr_click2order cr_imp2order has_active_comm \\\n",
"0 0.000 0.143 0.000 0.000 1 \n",
"1 0.000 0.067 0.000 0.000 1 \n",
"2 0.000 0.167 0.000 0.000 1 \n",
"3 0.000 0.333 0.000 0.000 1 \n",
"4 0.000 0.167 0.000 0.000 1 \n",
"\n",
" has_passive_comm has_any_order order_categories_count \n",
"0 1 0 0 \n",
"1 1 0 0 \n",
"2 1 0 0 \n",
"3 1 0 0 \n",
"4 1 0 0 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>business_dt</th>\n",
" <th>active_imp_ent</th>\n",
" <th>active_click_ent</th>\n",
" <th>active_imp_super</th>\n",
" <th>active_click_super</th>\n",
" <th>active_imp_transport</th>\n",
" <th>active_click_transport</th>\n",
" <th>active_imp_shopping</th>\n",
" <th>active_click_shopping</th>\n",
" <th>active_imp_hotel</th>\n",
" <th>active_click_hotel</th>\n",
" <th>active_imp_avia</th>\n",
" <th>active_click_avia</th>\n",
" <th>passive_imp_ent</th>\n",
" <th>passive_click_ent</th>\n",
" <th>passive_imp_super</th>\n",
" <th>passive_click_super</th>\n",
" <th>passive_imp_transport</th>\n",
" <th>passive_click_transport</th>\n",
" <th>passive_imp_shopping</th>\n",
" <th>passive_click_shopping</th>\n",
" <th>passive_imp_hotel</th>\n",
" <th>passive_click_hotel</th>\n",
" <th>passive_imp_avia</th>\n",
" <th>passive_click_avia</th>\n",
" <th>orders_amt_ent</th>\n",
" <th>orders_amt_super</th>\n",
" <th>orders_amt_transport</th>\n",
" <th>orders_amt_shopping</th>\n",
" <th>orders_amt_hotel</th>\n",
" <th>orders_amt_avia</th>\n",
" <th>gender_cd</th>\n",
" <th>age</th>\n",
" <th>device_platform_cd</th>\n",
" <th>age_group</th>\n",
" <th>active_imp_total</th>\n",
" <th>passive_imp_total</th>\n",
" <th>active_click_total</th>\n",
" <th>passive_click_total</th>\n",
" <th>orders_amt_total</th>\n",
" <th>click_total</th>\n",
" <th>imp_total</th>\n",
" <th>active_ctr</th>\n",
" <th>passive_ctr</th>\n",
" <th>ctr_all</th>\n",
" <th>cr_click2order</th>\n",
" <th>cr_imp2order</th>\n",
" <th>has_active_comm</th>\n",
" <th>has_passive_comm</th>\n",
" <th>has_any_order</th>\n",
" <th>order_categories_count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>7119</td>\n",
" <td>2025-04-02</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>3.000</td>\n",
" <td>1.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>F</td>\n",
" <td>40</td>\n",
" <td>iOS</td>\n",
" <td>35-44</td>\n",
" <td>5.000</td>\n",
" <td>2.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>7.000</td>\n",
" <td>0.200</td>\n",
" <td>0.000</td>\n",
" <td>0.143</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1797</td>\n",
" <td>2025-08-27</td>\n",
" <td>1.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>2.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>2.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>M</td>\n",
" <td>38</td>\n",
" <td>iOS</td>\n",
" <td>35-44</td>\n",
" <td>4.000</td>\n",
" <td>11.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>15.000</td>\n",
" <td>0.250</td>\n",
" <td>0.000</td>\n",
" <td>0.067</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>8010</td>\n",
" <td>2025-07-10</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>M</td>\n",
" <td>51</td>\n",
" <td>Android</td>\n",
" <td>45-54</td>\n",
" <td>1.000</td>\n",
" <td>5.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>6.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.167</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2360</td>\n",
" <td>2025-08-10</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>M</td>\n",
" <td>37</td>\n",
" <td>iOS</td>\n",
" <td>35-44</td>\n",
" <td>0.000</td>\n",
" <td>3.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>3.000</td>\n",
" <td>NaN</td>\n",
" <td>0.000</td>\n",
" <td>0.333</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3457</td>\n",
" <td>2025-05-23</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>3.000</td>\n",
" <td>1.000</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>F</td>\n",
" <td>27</td>\n",
" <td>iOS</td>\n",
" <td>25-34</td>\n",
" <td>4.000</td>\n",
" <td>2.000</td>\n",
" <td>1.000</td>\n",
" <td>0.000</td>\n",
" <td>0</td>\n",
" <td>1.000</td>\n",
" <td>6.000</td>\n",
" <td>0.250</td>\n",
" <td>0.000</td>\n",
" <td>0.167</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 23
},
{
"cell_type": "code",
"id": "78a7f3d2",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.560093Z",
"start_time": "2025-12-05T18:56:35.556685Z"
}
},
"source": [
"n_rows, n_cols = df.shape\n",
"n_unique_clients = df['id'].nunique()\n",
"min_dt, max_dt = df['business_dt'].min(), df['business_dt'].max()\n",
"print({'rows': n_rows, 'cols': n_cols, 'unique_clients': n_unique_clients, 'min_dt': min_dt, 'max_dt': max_dt})"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'rows': 118189, 'cols': 52, 'unique_clients': 8339, 'min_dt': Timestamp('2025-01-09 00:00:00'), 'max_dt': Timestamp('2025-11-04 00:00:00')}\n"
]
}
],
"execution_count": 24
},
{
"cell_type": "code",
"id": "a40091f6",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.623796Z",
"start_time": "2025-12-05T18:56:35.602181Z"
}
},
"source": [
"dup_table = df.groupby(['id', 'business_dt']).size().value_counts().reset_index()\n",
"dup_table.columns = ['rows_per_key', 'n_pairs']\n",
"dup_table.head()"
],
"outputs": [
{
"data": {
"text/plain": [
" rows_per_key n_pairs\n",
"0 1 118189"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>rows_per_key</th>\n",
" <th>n_pairs</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>118189</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 25
},
{
"cell_type": "code",
"id": "43cbdc8a",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.687689Z",
"start_time": "2025-12-05T18:56:35.680252Z"
}
},
"source": [
"df.groupby('id').size().describe()"
],
"outputs": [
{
"data": {
"text/plain": [
"count 8,339.000\n",
"mean 14.173\n",
"std 4.762\n",
"min 4.000\n",
"25% 11.000\n",
"50% 13.000\n",
"75% 16.000\n",
"max 52.000\n",
"dtype: float64"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 26
},
{
"cell_type": "code",
"id": "84b726d3",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.797151Z",
"start_time": "2025-12-05T18:56:35.783710Z"
}
},
"source": [
"missing = df.isna().sum().to_frame('missing')\n",
"missing['missing_share'] = missing['missing'] / len(df)\n",
"missing.sort_values('missing', ascending=False)"
],
"outputs": [
{
"data": {
"text/plain": [
" missing missing_share\n",
"active_ctr 11727 0.099\n",
"passive_ctr 8751 0.074\n",
"id 0 0.000\n",
"active_click_total 0 0.000\n",
"orders_amt_transport 0 0.000\n",
"orders_amt_shopping 0 0.000\n",
"orders_amt_hotel 0 0.000\n",
"orders_amt_avia 0 0.000\n",
"gender_cd 0 0.000\n",
"age 0 0.000\n",
"device_platform_cd 0 0.000\n",
"age_group 0 0.000\n",
"active_imp_total 0 0.000\n",
"passive_imp_total 0 0.000\n",
"passive_click_total 0 0.000\n",
"business_dt 0 0.000\n",
"orders_amt_total 0 0.000\n",
"click_total 0 0.000\n",
"imp_total 0 0.000\n",
"ctr_all 0 0.000\n",
"cr_click2order 0 0.000\n",
"cr_imp2order 0 0.000\n",
"has_active_comm 0 0.000\n",
"has_passive_comm 0 0.000\n",
"has_any_order 0 0.000\n",
"orders_amt_super 0 0.000\n",
"orders_amt_ent 0 0.000\n",
"passive_click_avia 0 0.000\n",
"active_imp_avia 0 0.000\n",
"active_imp_ent 0 0.000\n",
"active_click_ent 0 0.000\n",
"active_imp_super 0 0.000\n",
"active_click_super 0 0.000\n",
"active_imp_transport 0 0.000\n",
"active_click_transport 0 0.000\n",
"active_imp_shopping 0 0.000\n",
"active_click_shopping 0 0.000\n",
"active_imp_hotel 0 0.000\n",
"active_click_hotel 0 0.000\n",
"active_click_avia 0 0.000\n",
"passive_imp_avia 0 0.000\n",
"passive_imp_ent 0 0.000\n",
"passive_click_ent 0 0.000\n",
"passive_imp_super 0 0.000\n",
"passive_click_super 0 0.000\n",
"passive_imp_transport 0 0.000\n",
"passive_click_transport 0 0.000\n",
"passive_imp_shopping 0 0.000\n",
"passive_click_shopping 0 0.000\n",
"passive_imp_hotel 0 0.000\n",
"passive_click_hotel 0 0.000\n",
"order_categories_count 0 0.000"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>missing</th>\n",
" <th>missing_share</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>active_ctr</th>\n",
" <td>11727</td>\n",
" <td>0.099</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_ctr</th>\n",
" <td>8751</td>\n",
" <td>0.074</td>\n",
" </tr>\n",
" <tr>\n",
" <th>id</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_transport</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_shopping</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_hotel</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_avia</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>gender_cd</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>age</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>device_platform_cd</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>age_group</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>business_dt</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>click_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>imp_total</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ctr_all</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cr_click2order</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cr_imp2order</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>has_active_comm</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>has_passive_comm</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>has_any_order</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_super</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_ent</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_avia</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_avia</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_ent</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_ent</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_super</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_super</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_transport</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_transport</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_shopping</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_shopping</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_hotel</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_hotel</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_avia</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_avia</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_ent</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_ent</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_super</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_super</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_transport</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_transport</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_shopping</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_shopping</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_hotel</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_hotel</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>order_categories_count</th>\n",
" <td>0</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 27
},
{
"cell_type": "code",
"id": "13a915e5",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:35.923974Z",
"start_time": "2025-12-05T18:56:35.854061Z"
}
},
"source": [
"num_desc = df[NUMERIC_COLS].describe().T\n",
"num_desc"
],
"outputs": [
{
"data": {
"text/plain": [
" count mean std min 25% 50% 75% \\\n",
"active_imp_ent 118,189.000 0.314 0.614 0.000 0.000 0.000 0.000 \n",
"active_imp_super 118,189.000 0.380 0.809 0.000 0.000 0.000 0.000 \n",
"active_imp_transport 118,189.000 0.574 0.944 0.000 0.000 0.000 1.000 \n",
"active_imp_shopping 118,189.000 0.255 0.565 0.000 0.000 0.000 0.000 \n",
"active_imp_hotel 118,189.000 0.141 0.483 0.000 0.000 0.000 0.000 \n",
"active_imp_avia 118,189.000 0.193 0.523 0.000 0.000 0.000 0.000 \n",
"passive_imp_ent 118,189.000 0.552 1.256 0.000 0.000 0.000 1.000 \n",
"passive_imp_super 118,189.000 0.280 0.859 0.000 0.000 0.000 0.000 \n",
"passive_imp_transport 118,189.000 0.794 1.472 0.000 0.000 0.000 1.000 \n",
"passive_imp_shopping 118,189.000 0.689 1.768 0.000 0.000 0.000 1.000 \n",
"passive_imp_hotel 118,189.000 0.987 1.811 0.000 0.000 0.000 1.000 \n",
"passive_imp_avia 118,189.000 0.702 1.400 0.000 0.000 0.000 1.000 \n",
"active_click_ent 118,189.000 0.240 0.483 0.000 0.000 0.000 0.000 \n",
"active_click_super 118,189.000 0.276 0.542 0.000 0.000 0.000 0.000 \n",
"active_click_transport 118,189.000 0.443 0.645 0.000 0.000 0.000 1.000 \n",
"active_click_shopping 118,189.000 0.199 0.450 0.000 0.000 0.000 0.000 \n",
"active_click_hotel 118,189.000 0.035 0.185 0.000 0.000 0.000 0.000 \n",
"active_click_avia 118,189.000 0.054 0.227 0.000 0.000 0.000 0.000 \n",
"passive_click_ent 118,189.000 0.027 0.190 0.000 0.000 0.000 0.000 \n",
"passive_click_super 118,189.000 0.009 0.118 0.000 0.000 0.000 0.000 \n",
"passive_click_transport 118,189.000 0.020 0.155 0.000 0.000 0.000 0.000 \n",
"passive_click_shopping 118,189.000 0.011 0.128 0.000 0.000 0.000 0.000 \n",
"passive_click_hotel 118,189.000 0.058 0.242 0.000 0.000 0.000 0.000 \n",
"passive_click_avia 118,189.000 0.028 0.182 0.000 0.000 0.000 0.000 \n",
"orders_amt_ent 118,189.000 0.010 0.115 0.000 0.000 0.000 0.000 \n",
"orders_amt_super 118,189.000 0.022 0.155 0.000 0.000 0.000 0.000 \n",
"orders_amt_transport 118,189.000 0.053 0.242 0.000 0.000 0.000 0.000 \n",
"orders_amt_shopping 118,189.000 0.008 0.114 0.000 0.000 0.000 0.000 \n",
"orders_amt_hotel 118,189.000 0.004 0.067 0.000 0.000 0.000 0.000 \n",
"orders_amt_avia 118,189.000 0.009 0.109 0.000 0.000 0.000 0.000 \n",
"age 118,189.000 42.360 9.930 15.000 36.000 41.000 48.000 \n",
"\n",
" max \n",
"active_imp_ent 9.000 \n",
"active_imp_super 11.000 \n",
"active_imp_transport 24.000 \n",
"active_imp_shopping 6.000 \n",
"active_imp_hotel 7.000 \n",
"active_imp_avia 6.000 \n",
"passive_imp_ent 42.000 \n",
"passive_imp_super 26.000 \n",
"passive_imp_transport 43.000 \n",
"passive_imp_shopping 83.000 \n",
"passive_imp_hotel 44.000 \n",
"passive_imp_avia 52.000 \n",
"active_click_ent 6.000 \n",
"active_click_super 9.000 \n",
"active_click_transport 11.000 \n",
"active_click_shopping 5.000 \n",
"active_click_hotel 2.000 \n",
"active_click_avia 2.000 \n",
"passive_click_ent 11.000 \n",
"passive_click_super 5.000 \n",
"passive_click_transport 7.000 \n",
"passive_click_shopping 7.000 \n",
"passive_click_hotel 8.000 \n",
"passive_click_avia 8.000 \n",
"orders_amt_ent 11.000 \n",
"orders_amt_super 4.000 \n",
"orders_amt_transport 5.000 \n",
"orders_amt_shopping 11.000 \n",
"orders_amt_hotel 3.000 \n",
"orders_amt_avia 6.000 \n",
"age 80.000 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>active_imp_ent</th>\n",
" <td>118,189.000</td>\n",
" <td>0.314</td>\n",
" <td>0.614</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>9.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_super</th>\n",
" <td>118,189.000</td>\n",
" <td>0.380</td>\n",
" <td>0.809</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_transport</th>\n",
" <td>118,189.000</td>\n",
" <td>0.574</td>\n",
" <td>0.944</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>24.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_shopping</th>\n",
" <td>118,189.000</td>\n",
" <td>0.255</td>\n",
" <td>0.565</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_hotel</th>\n",
" <td>118,189.000</td>\n",
" <td>0.141</td>\n",
" <td>0.483</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_imp_avia</th>\n",
" <td>118,189.000</td>\n",
" <td>0.193</td>\n",
" <td>0.523</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_ent</th>\n",
" <td>118,189.000</td>\n",
" <td>0.552</td>\n",
" <td>1.256</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>42.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_super</th>\n",
" <td>118,189.000</td>\n",
" <td>0.280</td>\n",
" <td>0.859</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>26.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_transport</th>\n",
" <td>118,189.000</td>\n",
" <td>0.794</td>\n",
" <td>1.472</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>43.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_shopping</th>\n",
" <td>118,189.000</td>\n",
" <td>0.689</td>\n",
" <td>1.768</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>83.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_hotel</th>\n",
" <td>118,189.000</td>\n",
" <td>0.987</td>\n",
" <td>1.811</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>44.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_imp_avia</th>\n",
" <td>118,189.000</td>\n",
" <td>0.702</td>\n",
" <td>1.400</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>52.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_ent</th>\n",
" <td>118,189.000</td>\n",
" <td>0.240</td>\n",
" <td>0.483</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_super</th>\n",
" <td>118,189.000</td>\n",
" <td>0.276</td>\n",
" <td>0.542</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>9.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_transport</th>\n",
" <td>118,189.000</td>\n",
" <td>0.443</td>\n",
" <td>0.645</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>11.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_shopping</th>\n",
" <td>118,189.000</td>\n",
" <td>0.199</td>\n",
" <td>0.450</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_hotel</th>\n",
" <td>118,189.000</td>\n",
" <td>0.035</td>\n",
" <td>0.185</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>active_click_avia</th>\n",
" <td>118,189.000</td>\n",
" <td>0.054</td>\n",
" <td>0.227</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_ent</th>\n",
" <td>118,189.000</td>\n",
" <td>0.027</td>\n",
" <td>0.190</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_super</th>\n",
" <td>118,189.000</td>\n",
" <td>0.009</td>\n",
" <td>0.118</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_transport</th>\n",
" <td>118,189.000</td>\n",
" <td>0.020</td>\n",
" <td>0.155</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_shopping</th>\n",
" <td>118,189.000</td>\n",
" <td>0.011</td>\n",
" <td>0.128</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_hotel</th>\n",
" <td>118,189.000</td>\n",
" <td>0.058</td>\n",
" <td>0.242</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>8.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>passive_click_avia</th>\n",
" <td>118,189.000</td>\n",
" <td>0.028</td>\n",
" <td>0.182</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>8.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_ent</th>\n",
" <td>118,189.000</td>\n",
" <td>0.010</td>\n",
" <td>0.115</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_super</th>\n",
" <td>118,189.000</td>\n",
" <td>0.022</td>\n",
" <td>0.155</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>4.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_transport</th>\n",
" <td>118,189.000</td>\n",
" <td>0.053</td>\n",
" <td>0.242</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_shopping</th>\n",
" <td>118,189.000</td>\n",
" <td>0.008</td>\n",
" <td>0.114</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_hotel</th>\n",
" <td>118,189.000</td>\n",
" <td>0.004</td>\n",
" <td>0.067</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>3.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>orders_amt_avia</th>\n",
" <td>118,189.000</td>\n",
" <td>0.009</td>\n",
" <td>0.109</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>age</th>\n",
" <td>118,189.000</td>\n",
" <td>42.360</td>\n",
" <td>9.930</td>\n",
" <td>15.000</td>\n",
" <td>36.000</td>\n",
" <td>41.000</td>\n",
" <td>48.000</td>\n",
" <td>80.000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 28
},
{
"cell_type": "code",
"id": "3e7aa15f",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.136503Z",
"start_time": "2025-12-05T18:56:36.004420Z"
}
},
"source": [
"zero_table = describe_zero_share(df, ACTIVE_IMP_COLS + PASSIVE_IMP_COLS + ACTIVE_CLICK_COLS + PASSIVE_CLICK_COLS + ORDER_COLS)\n",
"zero_table"
],
"outputs": [
{
"data": {
"text/plain": [
" col count mean median std min q25 q75 \\\n",
"0 active_imp_ent 118189 0.314 0.000 0.614 0.000 0.000 0.000 \n",
"1 active_imp_super 118189 0.380 0.000 0.809 0.000 0.000 0.000 \n",
"2 active_imp_transport 118189 0.574 0.000 0.944 0.000 0.000 1.000 \n",
"3 active_imp_shopping 118189 0.255 0.000 0.565 0.000 0.000 0.000 \n",
"4 active_imp_hotel 118189 0.141 0.000 0.483 0.000 0.000 0.000 \n",
"5 active_imp_avia 118189 0.193 0.000 0.523 0.000 0.000 0.000 \n",
"6 passive_imp_ent 118189 0.552 0.000 1.256 0.000 0.000 1.000 \n",
"7 passive_imp_super 118189 0.280 0.000 0.859 0.000 0.000 0.000 \n",
"8 passive_imp_transport 118189 0.794 0.000 1.472 0.000 0.000 1.000 \n",
"9 passive_imp_shopping 118189 0.689 0.000 1.768 0.000 0.000 1.000 \n",
"10 passive_imp_hotel 118189 0.987 0.000 1.811 0.000 0.000 1.000 \n",
"11 passive_imp_avia 118189 0.702 0.000 1.400 0.000 0.000 1.000 \n",
"12 active_click_ent 118189 0.240 0.000 0.483 0.000 0.000 0.000 \n",
"13 active_click_super 118189 0.276 0.000 0.542 0.000 0.000 0.000 \n",
"14 active_click_transport 118189 0.443 0.000 0.645 0.000 0.000 1.000 \n",
"15 active_click_shopping 118189 0.199 0.000 0.450 0.000 0.000 0.000 \n",
"16 active_click_hotel 118189 0.035 0.000 0.185 0.000 0.000 0.000 \n",
"17 active_click_avia 118189 0.054 0.000 0.227 0.000 0.000 0.000 \n",
"18 passive_click_ent 118189 0.027 0.000 0.190 0.000 0.000 0.000 \n",
"19 passive_click_super 118189 0.009 0.000 0.118 0.000 0.000 0.000 \n",
"20 passive_click_transport 118189 0.020 0.000 0.155 0.000 0.000 0.000 \n",
"21 passive_click_shopping 118189 0.011 0.000 0.128 0.000 0.000 0.000 \n",
"22 passive_click_hotel 118189 0.058 0.000 0.242 0.000 0.000 0.000 \n",
"23 passive_click_avia 118189 0.028 0.000 0.182 0.000 0.000 0.000 \n",
"24 orders_amt_ent 118189 0.010 0.000 0.115 0.000 0.000 0.000 \n",
"25 orders_amt_super 118189 0.022 0.000 0.155 0.000 0.000 0.000 \n",
"26 orders_amt_transport 118189 0.053 0.000 0.242 0.000 0.000 0.000 \n",
"27 orders_amt_shopping 118189 0.008 0.000 0.114 0.000 0.000 0.000 \n",
"28 orders_amt_hotel 118189 0.004 0.000 0.067 0.000 0.000 0.000 \n",
"29 orders_amt_avia 118189 0.009 0.000 0.109 0.000 0.000 0.000 \n",
"\n",
" max share_zero p95 p99 \n",
"0 9.000 0.755 2.000 2.000 \n",
"1 11.000 0.781 2.000 3.000 \n",
"2 24.000 0.665 3.000 3.000 \n",
"3 6.000 0.803 2.000 2.000 \n",
"4 7.000 0.902 1.000 2.000 \n",
"5 6.000 0.857 1.000 2.000 \n",
"6 42.000 0.709 3.000 6.000 \n",
"7 26.000 0.837 2.000 4.000 \n",
"8 43.000 0.597 3.000 7.000 \n",
"9 83.000 0.673 3.000 8.000 \n",
"10 44.000 0.535 4.000 8.000 \n",
"11 52.000 0.615 3.000 6.000 \n",
"12 6.000 0.781 1.000 2.000 \n",
"13 9.000 0.765 1.000 2.000 \n",
"14 11.000 0.630 2.000 2.000 \n",
"15 5.000 0.820 1.000 2.000 \n",
"16 2.000 0.965 0.000 1.000 \n",
"17 2.000 0.946 1.000 1.000 \n",
"18 11.000 0.976 0.000 1.000 \n",
"19 5.000 0.993 0.000 0.000 \n",
"20 7.000 0.981 0.000 1.000 \n",
"21 7.000 0.991 0.000 0.000 \n",
"22 8.000 0.944 1.000 1.000 \n",
"23 8.000 0.974 0.000 1.000 \n",
"24 11.000 0.991 0.000 0.000 \n",
"25 4.000 0.980 0.000 1.000 \n",
"26 5.000 0.950 0.000 1.000 \n",
"27 11.000 0.994 0.000 0.000 \n",
"28 3.000 0.996 0.000 0.000 \n",
"29 6.000 0.993 0.000 0.000 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>col</th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>median</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>q25</th>\n",
" <th>q75</th>\n",
" <th>max</th>\n",
" <th>share_zero</th>\n",
" <th>p95</th>\n",
" <th>p99</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>active_imp_ent</td>\n",
" <td>118189</td>\n",
" <td>0.314</td>\n",
" <td>0.000</td>\n",
" <td>0.614</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>9.000</td>\n",
" <td>0.755</td>\n",
" <td>2.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>active_imp_super</td>\n",
" <td>118189</td>\n",
" <td>0.380</td>\n",
" <td>0.000</td>\n",
" <td>0.809</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" <td>0.781</td>\n",
" <td>2.000</td>\n",
" <td>3.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>active_imp_transport</td>\n",
" <td>118189</td>\n",
" <td>0.574</td>\n",
" <td>0.000</td>\n",
" <td>0.944</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>24.000</td>\n",
" <td>0.665</td>\n",
" <td>3.000</td>\n",
" <td>3.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>active_imp_shopping</td>\n",
" <td>118189</td>\n",
" <td>0.255</td>\n",
" <td>0.000</td>\n",
" <td>0.565</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" <td>0.803</td>\n",
" <td>2.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>active_imp_hotel</td>\n",
" <td>118189</td>\n",
" <td>0.141</td>\n",
" <td>0.000</td>\n",
" <td>0.483</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" <td>0.902</td>\n",
" <td>1.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>active_imp_avia</td>\n",
" <td>118189</td>\n",
" <td>0.193</td>\n",
" <td>0.000</td>\n",
" <td>0.523</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" <td>0.857</td>\n",
" <td>1.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>passive_imp_ent</td>\n",
" <td>118189</td>\n",
" <td>0.552</td>\n",
" <td>0.000</td>\n",
" <td>1.256</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>42.000</td>\n",
" <td>0.709</td>\n",
" <td>3.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>passive_imp_super</td>\n",
" <td>118189</td>\n",
" <td>0.280</td>\n",
" <td>0.000</td>\n",
" <td>0.859</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>26.000</td>\n",
" <td>0.837</td>\n",
" <td>2.000</td>\n",
" <td>4.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>passive_imp_transport</td>\n",
" <td>118189</td>\n",
" <td>0.794</td>\n",
" <td>0.000</td>\n",
" <td>1.472</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>43.000</td>\n",
" <td>0.597</td>\n",
" <td>3.000</td>\n",
" <td>7.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>passive_imp_shopping</td>\n",
" <td>118189</td>\n",
" <td>0.689</td>\n",
" <td>0.000</td>\n",
" <td>1.768</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>83.000</td>\n",
" <td>0.673</td>\n",
" <td>3.000</td>\n",
" <td>8.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>passive_imp_hotel</td>\n",
" <td>118189</td>\n",
" <td>0.987</td>\n",
" <td>0.000</td>\n",
" <td>1.811</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>44.000</td>\n",
" <td>0.535</td>\n",
" <td>4.000</td>\n",
" <td>8.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>passive_imp_avia</td>\n",
" <td>118189</td>\n",
" <td>0.702</td>\n",
" <td>0.000</td>\n",
" <td>1.400</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>52.000</td>\n",
" <td>0.615</td>\n",
" <td>3.000</td>\n",
" <td>6.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>active_click_ent</td>\n",
" <td>118189</td>\n",
" <td>0.240</td>\n",
" <td>0.000</td>\n",
" <td>0.483</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" <td>0.781</td>\n",
" <td>1.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>active_click_super</td>\n",
" <td>118189</td>\n",
" <td>0.276</td>\n",
" <td>0.000</td>\n",
" <td>0.542</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>9.000</td>\n",
" <td>0.765</td>\n",
" <td>1.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>active_click_transport</td>\n",
" <td>118189</td>\n",
" <td>0.443</td>\n",
" <td>0.000</td>\n",
" <td>0.645</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" <td>11.000</td>\n",
" <td>0.630</td>\n",
" <td>2.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>active_click_shopping</td>\n",
" <td>118189</td>\n",
" <td>0.199</td>\n",
" <td>0.000</td>\n",
" <td>0.450</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" <td>0.820</td>\n",
" <td>1.000</td>\n",
" <td>2.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>active_click_hotel</td>\n",
" <td>118189</td>\n",
" <td>0.035</td>\n",
" <td>0.000</td>\n",
" <td>0.185</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2.000</td>\n",
" <td>0.965</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>active_click_avia</td>\n",
" <td>118189</td>\n",
" <td>0.054</td>\n",
" <td>0.000</td>\n",
" <td>0.227</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>2.000</td>\n",
" <td>0.946</td>\n",
" <td>1.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>passive_click_ent</td>\n",
" <td>118189</td>\n",
" <td>0.027</td>\n",
" <td>0.000</td>\n",
" <td>0.190</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" <td>0.976</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>passive_click_super</td>\n",
" <td>118189</td>\n",
" <td>0.009</td>\n",
" <td>0.000</td>\n",
" <td>0.118</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" <td>0.993</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>passive_click_transport</td>\n",
" <td>118189</td>\n",
" <td>0.020</td>\n",
" <td>0.000</td>\n",
" <td>0.155</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" <td>0.981</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>passive_click_shopping</td>\n",
" <td>118189</td>\n",
" <td>0.011</td>\n",
" <td>0.000</td>\n",
" <td>0.128</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>7.000</td>\n",
" <td>0.991</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>passive_click_hotel</td>\n",
" <td>118189</td>\n",
" <td>0.058</td>\n",
" <td>0.000</td>\n",
" <td>0.242</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>8.000</td>\n",
" <td>0.944</td>\n",
" <td>1.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>passive_click_avia</td>\n",
" <td>118189</td>\n",
" <td>0.028</td>\n",
" <td>0.000</td>\n",
" <td>0.182</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>8.000</td>\n",
" <td>0.974</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>orders_amt_ent</td>\n",
" <td>118189</td>\n",
" <td>0.010</td>\n",
" <td>0.000</td>\n",
" <td>0.115</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" <td>0.991</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>orders_amt_super</td>\n",
" <td>118189</td>\n",
" <td>0.022</td>\n",
" <td>0.000</td>\n",
" <td>0.155</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>4.000</td>\n",
" <td>0.980</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>orders_amt_transport</td>\n",
" <td>118189</td>\n",
" <td>0.053</td>\n",
" <td>0.000</td>\n",
" <td>0.242</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>5.000</td>\n",
" <td>0.950</td>\n",
" <td>0.000</td>\n",
" <td>1.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>orders_amt_shopping</td>\n",
" <td>118189</td>\n",
" <td>0.008</td>\n",
" <td>0.000</td>\n",
" <td>0.114</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>11.000</td>\n",
" <td>0.994</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>orders_amt_hotel</td>\n",
" <td>118189</td>\n",
" <td>0.004</td>\n",
" <td>0.000</td>\n",
" <td>0.067</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>3.000</td>\n",
" <td>0.996</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>orders_amt_avia</td>\n",
" <td>118189</td>\n",
" <td>0.009</td>\n",
" <td>0.000</td>\n",
" <td>0.109</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" <td>6.000</td>\n",
" <td>0.993</td>\n",
" <td>0.000</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 29
},
{
"cell_type": "code",
"id": "0c5c8616",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.238103Z",
"start_time": "2025-12-05T18:56:36.228864Z"
}
},
"source": [
"neg_counts = (df[ACTIVE_IMP_COLS + PASSIVE_IMP_COLS + ACTIVE_CLICK_COLS + PASSIVE_CLICK_COLS + ORDER_COLS] < 0).sum()\n",
"neg_counts[neg_counts > 0]"
],
"outputs": [
{
"data": {
"text/plain": [
"Series([], dtype: int64)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 30
},
{
"cell_type": "code",
"id": "780634e5",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.258317Z",
"start_time": "2025-12-05T18:56:36.251836Z"
}
},
"source": [
"age_check = df['age'].describe(percentiles=[0.01, 0.25, 0.5, 0.75, 0.99])\n",
"age_outliers = df[(df['age'] < 14) | (df['age'] > 100)]\n",
"print(age_check)\n",
"print('Outlier share:', len(age_outliers) / len(df))"
],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"count 118,189.000\n",
"mean 42.360\n",
"std 9.930\n",
"min 15.000\n",
"1% 22.000\n",
"25% 36.000\n",
"50% 41.000\n",
"75% 48.000\n",
"99% 68.000\n",
"max 80.000\n",
"Name: age, dtype: float64\n",
"Outlier share: 0.0\n"
]
}
],
"execution_count": 31
},
{
"cell_type": "code",
"id": "cdcc7d3c",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.280304Z",
"start_time": "2025-12-05T18:56:36.275178Z"
}
},
"source": [
"categoricals = {col: df[col].value_counts(dropna=False) for col in CAT_COLS}\n",
"categoricals"
],
"outputs": [
{
"data": {
"text/plain": [
"{'gender_cd': gender_cd\n",
" M 81030\n",
" F 37159\n",
" Name: count, dtype: int64,\n",
" 'device_platform_cd': device_platform_cd\n",
" iOS 61679\n",
" Android 55232\n",
" iPadOS 1278\n",
" Name: count, dtype: int64}"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 32
},
{
"cell_type": "code",
"id": "34341432",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.414766Z",
"start_time": "2025-12-05T18:56:36.317343Z"
}
},
"source": [
"cnt_by_date = df.groupby('business_dt').size().reset_index(name='n_records')\n",
"fig, ax = plt.subplots(figsize=(12, 4))\n",
"sns.lineplot(data=cnt_by_date, x='business_dt', y='n_records', ax=ax)\n",
"ax.set_title('Количество записей по датам')\n",
"ax.set_ylabel('N')\n",
"plt.xticks(rotation=45)\n",
"plt.tight_layout()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 1200x400 with 1 Axes>"
],
"image/png": "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1EUXXaS/j999+OGHs/acCCGEEEIIIYQQQoqd0AhQjz76qLrtttuafX3JkiXqm9/8pnr33Xftt3/961/29++880712GOPqZtuukk9/vjjWpC6/PLLdUg42Llzp7r00ktV//791dNPP62uvvpqNX36dP0xIYQQQgghhBBCCMk8Oc+A2rJli/rlL3+pZs2apQYOHBjzPQRZLV++XH3jG99w7TgHkemBBx5QP/rRj9Txxx+vv3brrbdqN9Qrr7yizjrrLPXkk0+qVq1aqRtvvFGVlpaqIUOGqDVr1qh77rlHTZs2LWvPkxBCCCGEEEIIIaRYybkDasGCBVogev7559W4ceNivrd27Vq1d+9eNXjwYNffXbx4sdqzZ4+aMmWK/bUOHTqo0aNHq9mzZ+vP0Qpw0qRJWnwSJk+erFavXq0qKysz9rwIIYQQQgghhBBCSEgcUMhkMjOdTJYuXarfP/LII+rtt99WLVu2VMcee6z6/ve/r9q3b682b96sv9+7d+9mXerke3g/fPjwZt8HmzZtUt26dQuc5I7fc/5PQgghhBBCCCGEEBJSB1Q8IEBBdIJgdNddd6mf/OQnOgPqW9/6ls56qq2t1T/XunXrmN8rKytT9fX1+uO6ujrX7wP5GUIIIYQQQgghhBBSwA6oeFx11VXqggsuUJ07d9afw8mELKgvfelLat68eapNmzZ2FpR8LMJSeXm5/hhfl0By8/ugbdu2nv97xowZnt+L544ihBBCCCGEEEIIIXnkgIL7ScQnYdiwYXZpnZTBbd26NeZn8HnPnj31x7169XL9PpCfIYQQQgghhBBCCCFFKkBde+216pJLLon5GpxPYOjQoWrkyJGqoqJCd9ATqqur1cKFC9XEiRP153g/d+5c1dTUZP/MzJkz1aBBg1TXrl2z9lwIIYSQbPH82yvUT+98V+2t28eDTgghhBBCQkGoBahTTz1VffDBB+qOO+7QHfHeeust9bOf/UydddZZasiQITrb6aKLLlLTp0/XJXPoioeAcrieTjnlFP03pk2bpmpqatT111+vli9frp555hn10EMPqSuvvDLXT48QQgjJCC/NXKPmr9iu5i1nt1dCCCGEEBIOQp0Bhayl2267Td1zzz3q3nvv1Z3vzj77bPW9733P/plrrrlGNTY2qhtuuEEHjsPxdP/996tWrVrp78PldN9996mbb75Z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8Zz3r/Dw2Wef6XG/Xbt26pBDDtFzLL4+4WDr1q2qurpadenSRXXq1EnPybDA5twsN6xevVrt2bNHj/mdO3fW1wrXJeHg5ZdfVqeeeqq+Ngr9/kUBKk/BiTlv3jz1pS99ST300ENq8uTJuX5IxMGf//xn9dprr+mBF4tu3Oixe1pWVlbwN5ZcHvM33nhDbdy4UfXp00d99atfVV/84hd5vHMMJps7duxQf/3rX1Vpaam+Hk4++WSKUDnklltuUc8++6y+J2EiKgsC3pvCwe9//3v10ksvadFp7969av369erb3/42F2454je/+Y16/vnn1YQJE1RdXZ3+GhfQ4WD69Ol6roXNvq5du6oTTzxR/eAHP+AcKwTcdtttaubMmWrlypWqf//+emMQr1dFRQXHmhyuSzZt2qQGDRqk+vXrp/7whz/oORnH/txSV1envvvd7+o1y0033VTw82NaA/IUnJBYYIMf/ehH6v3338/1QyIGjzzyiHrmmWe0w+Dxxx9Xv/jFL9T27dv1JLaQbyi55IEHHtAOm5///OfqySef1Dttb775pv6eHO9isLWGESzUMPEcP368Pv/vvvtu9d///td+bfi6ZJc//elP+hp54okn1MiRI+3XSF4PQFt+bndB//Of/6i//e1veiz517/+pcUn83Xi65M9fvvb36rnnntOC7YXX3yxWrBggRbUed/KPbiP4XXBIhrjP8aYWbNmxcyxeK3khkcffVSPMd///vfVww8/rC644AK1atUq9YUvfEFXb8gCm2TvWsE1cv311+txZdq0afr1OOecc9TatWv5eoSAPn366Nfo2muv1Z8X8jVCB1Qeg5OyV69e2llz1VVXqf/7v/9TRx99dK4fVtGzb98+bQf/2te+pndLQY8ePfTHixcvpviUgeugoaFBffTRR3qRNmnSJP31qVOnqhkzZmiHIH7my1/+smrbti0FwBzSvn17/YbSyPvuu0+/FijHo5MgeyxZskQ99thj6pvf/KYaMmSI/hoW0lgobN68WedBwTnIkrzclqwMGzZMvz4o28brA6fahg0b9PhxySWX6DGFZB7sREMMxPHHfQsl3rhO8BqhpIjkFiygzzrrLF1GDE4//XS9mMbrhfEFn2Pzg2QXjCOYB3/uc59TRxxxhP7a0KFD9Rzse9/7nvrOd76j7r//fu1YYzle9krvUMp91FFH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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 33
},
{
"cell_type": "code",
"id": "5e909c0c",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.596471Z",
"start_time": "2025-12-05T18:56:36.421563Z"
}
},
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(10, 4))\n",
"sns.boxplot(data=df, y='age', ax=axes[0])\n",
"axes[0].set_title('Возраст (boxplot)')\n",
"missing_plot = missing[missing['missing'] > 0].reset_index()\n",
"if not missing_plot.empty:\n",
" sns.barplot(data=missing_plot, x='index', y='missing_share', ax=axes[1])\n",
" axes[1].set_title('Доля NaN по столбцам')\n",
" axes[1].tick_params(axis='x', rotation=90)\n",
"plt.tight_layout()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 1000x400 with 2 Axes>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 34
},
{
"cell_type": "code",
"id": "bd9437d0",
"metadata": {
"ExecuteTime": {
"end_time": "2025-12-05T18:56:36.607880Z",
"start_time": "2025-12-05T18:56:36.605964Z"
}
},
"source": [
"# При желании можно сохранить чистую версию датасета\n",
"SAVE_CLEANED = False\n",
"if SAVE_CLEANED:\n",
" df.to_parquet('dataset/ds_clean.parquet', index=False)\n",
" print('Saved dataset/ds_clean.parquet')"
],
"outputs": [],
"execution_count": 35
}
],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}