{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 南瓜定价\n",
    "\n",
    "加载所需的库和数据集。将数据转换为一个包含数据子集的数据框：\n",
    "\n",
    "- 仅获取按蒲式耳定价的南瓜\n",
    "- 将日期转换为月份\n",
    "- 计算价格为高价和低价的平均值\n",
    "- 将价格转换为反映按蒲式耳数量定价\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from datetime import datetime\n",
    "\n",
    "pumpkins = pd.read_csv('../data/US-pumpkins.csv')\n",
    "\n",
    "pumpkins.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "pumpkins = pumpkins[pumpkins['Package'].str.contains('bushel', case=True, regex=True)]\n",
    "\n",
    "columns_to_select = ['Package', 'Variety', 'City Name', 'Low Price', 'High Price', 'Date']\n",
    "pumpkins = pumpkins.loc[:, columns_to_select]\n",
    "\n",
    "price = (pumpkins['Low Price'] + pumpkins['High Price']) / 2\n",
    "\n",
    "month = pd.DatetimeIndex(pumpkins['Date']).month\n",
    "day_of_year = pd.to_datetime(pumpkins['Date']).apply(lambda dt: (dt-datetime(dt.year,1,1)).days)\n",
    "\n",
    "new_pumpkins = pd.DataFrame(\n",
    "    {'Month': month, \n",
    "     'DayOfYear' : day_of_year, \n",
    "     'Variety': pumpkins['Variety'], \n",
    "     'City': pumpkins['City Name'], \n",
    "     'Package': pumpkins['Package'], \n",
    "     'Low Price': pumpkins['Low Price'],\n",
    "     'High Price': pumpkins['High Price'], \n",
    "     'Price': price})\n",
    "\n",
    "new_pumpkins.loc[new_pumpkins['Package'].str.contains('1 1/9'), 'Price'] = price/1.1\n",
    "new_pumpkins.loc[new_pumpkins['Package'].str.contains('1/2'), 'Price'] = price*2\n",
    "\n",
    "new_pumpkins.head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一个基本的散点图提醒我们，我们只有从八月到十二月的月度数据。我们可能需要更多数据才能以线性方式得出结论。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.scatter('Month','Price',data=new_pumpkins)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "plt.scatter('DayOfYear','Price',data=new_pumpkins)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n---\n\n**免责声明**：  \n本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性，但请注意，自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息，建议使用专业人工翻译。因使用本翻译而导致的任何误解或误读，我们概不负责。\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3-final"
  },
  "orig_nbformat": 2,
  "coopTranslator": {
   "original_hash": "b032d371c75279373507f003439a577e",
   "translation_date": "2025-09-03T19:16:27+00:00",
   "source_file": "2-Regression/3-Linear/notebook.ipynb",
   "language_code": "zh"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}