{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "77d623e9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 1. 数据采集\n",
    "# 从本地文件中读取数据  2分\n",
    "data =  _______________________________\n",
    "print(\"数据采集完成，已加载到DataFrame中\")\n",
    "\n",
    "# 打印数据的前5条记录  2分\n",
    "print(________________________________)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2a74503d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2. 数据清洗与预处理\n",
    "# 处理缺失值（删除）  2分\n",
    "data = ________________________________\n",
    "\n",
    "# 数据类型转换\n",
    "data________________ = ________________(int)   # Age数据类型转换为int 2分\n",
    "data________________ = ________________(float) # PurchaseAmount数据类型转换为float  2分\n",
    "data________________ = ________________(int)   # ReviewScore数据类型转换为int 2分\n",
    "\n",
    "# 处理异常值  2分\n",
    "data = data[(________________.________________(18, 70)) & \n",
    "            (data['PurchaseAmount'] > 0) & \n",
    "            (________________.________________(1, 5))]\n",
    "\n",
    "# 数据标准化\n",
    "data['PurchaseAmount'] = (data['PurchaseAmount'] - ________________) / ________________  # PurchaseAmount数据标准化 2分\n",
    "data['ReviewScore'] = (data['ReviewScore'] - ________________) / ________________        # ReviewScore数据标准化 2分\n",
    "\n",
    "# 保存清洗后的数据  1分\n",
    "________________('cleaned_user_behavior_data.csv', index=False)\n",
    "print(\"数据清洗完成，已保存为 'cleaned_user_behavior_data.csv'\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dad5c39b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 3. 数据统计\n",
    "# 统计每个购买类别的用户数 2分\n",
    "purchase_category_counts = ________________.________________\n",
    "print(\"每个购买类别的用户数:\\n\", purchase_category_counts)\n",
    "\n",
    "# 统计不同性别的平均购买金额 2分\n",
    "gender_purchase_amount_mean = ________________(________________)['PurchaseAmount'].mean()\n",
    "print(\"不同性别的平均购买金额:\\n\", gender_purchase_amount_mean)\n",
    "\n",
    "# 统计不同年龄段的用户数 2分\n",
    "bins = [18, 26, 36, 46, 56, 66, np.inf]\n",
    "labels = ['18-25', '26-35', '36-45', '46-55', '56-65', '65+']\n",
    "data['AgeGroup'] = pandas.________________(________________, right=False)\n",
    "age_group_counts = data['AgeGroup'].value_counts().sort_index()\n",
    "print(\"不同年龄段的用户数:\\n\", age_group_counts)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
