{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "6668a6f1",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import datetime\n",
    "\n",
    "from collections import Counter"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "60a9ce96",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('農地土地覆蓋_2025_僅受益地_水利小組.csv', \n",
    "                  usecols=['年份', '期作', '作物類別', '水利小組編號', '面積'],\n",
    "                  #dtype={'水利小': str}\n",
    "                  )\n",
    "df_crop = pd.read_excel('作物類別整併.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "24192ff2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>面積</th>\n",
       "      <th>年份</th>\n",
       "      <th>期作</th>\n",
       "      <th>作物類別</th>\n",
       "      <th>水利小組編號</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2031.338149</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3450.450253</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2492.820000</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1295.720665</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902403</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2897.307456</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072903</th>\n",
       "      <td>1858.475687</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072904</th>\n",
       "      <td>357.817979</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072905</th>\n",
       "      <td>2292.646509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072906</th>\n",
       "      <td>511.447036</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072907</th>\n",
       "      <td>1878.389632</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1072908 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  面積    年份  期作 作物類別    水利小組編號\n",
       "0        2031.338149  2025   0   小麥  I0902504\n",
       "1        3450.450253  2025   0   小麥  I0902422\n",
       "2        2492.820000  2025   0   小麥  I0902403\n",
       "3        1295.720665  2025   0   小麥  I0902403\n",
       "4        2897.307456  2025   0   小麥  I0902419\n",
       "...              ...   ...  ..  ...       ...\n",
       "1072903  1858.475687  2025   3   鳳梨  I1040509\n",
       "1072904   357.817979  2025   3   鳳梨  I1040509\n",
       "1072905  2292.646509  2025   3   鳳梨  I1040904\n",
       "1072906   511.447036  2025   3   鳳梨  I1040803\n",
       "1072907  1878.389632  2025   3   鳳梨  I1040509\n",
       "\n",
       "[1072908 rows x 5 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "270403d4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>作物類別</th>\n",
       "      <th>作物別(整併)</th>\n",
       "      <th>作物編碼</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>大心芥菜</td>\n",
       "      <td>芥菜類</td>\n",
       "      <td>AR01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>大芥菜</td>\n",
       "      <td>芥菜類</td>\n",
       "      <td>AR01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>大芥菜(芥菜)</td>\n",
       "      <td>芥菜類</td>\n",
       "      <td>AR01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>包心芥菜</td>\n",
       "      <td>芥菜類</td>\n",
       "      <td>AR01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>芥菜</td>\n",
       "      <td>芥菜類</td>\n",
       "      <td>AR01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>95</th>\n",
       "      <td>豌豆</td>\n",
       "      <td>豌豆</td>\n",
       "      <td>AR57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>96</th>\n",
       "      <td>蕎麥</td>\n",
       "      <td>蕎麥</td>\n",
       "      <td>AR58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>97</th>\n",
       "      <td>薑</td>\n",
       "      <td>薑</td>\n",
       "      <td>AR59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98</th>\n",
       "      <td>蘿蔔</td>\n",
       "      <td>蘿蔔</td>\n",
       "      <td>AR60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>蘿蔔類</td>\n",
       "      <td>蘿蔔</td>\n",
       "      <td>AR60</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>100 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       作物類別 作物別(整併)  作物編碼\n",
       "0      大心芥菜     芥菜類  AR01\n",
       "1       大芥菜     芥菜類  AR01\n",
       "2   大芥菜(芥菜)     芥菜類  AR01\n",
       "3      包心芥菜     芥菜類  AR01\n",
       "4        芥菜     芥菜類  AR01\n",
       "..      ...     ...   ...\n",
       "95       豌豆      豌豆  AR57\n",
       "96       蕎麥      蕎麥  AR58\n",
       "97        薑       薑  AR59\n",
       "98       蘿蔔      蘿蔔  AR60\n",
       "99      蘿蔔類      蘿蔔  AR60\n",
       "\n",
       "[100 rows x 3 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_crop"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5ef5b17b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>面積</th>\n",
       "      <th>年份</th>\n",
       "      <th>期作</th>\n",
       "      <th>作物類別</th>\n",
       "      <th>水利小組編號</th>\n",
       "      <th>作物別(整併)</th>\n",
       "      <th>作物編碼</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2031.338149</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902504</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3450.450253</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902422</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2492.820000</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902403</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1295.720665</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902403</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2897.307456</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>I0902419</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072903</th>\n",
       "      <td>1858.475687</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072904</th>\n",
       "      <td>357.817979</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072905</th>\n",
       "      <td>2292.646509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040904</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072906</th>\n",
       "      <td>511.447036</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040803</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072907</th>\n",
       "      <td>1878.389632</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>I1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1072908 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  面積    年份  期作 作物類別    水利小組編號 作物別(整併)  作物編碼\n",
       "0        2031.338149  2025   0   小麥  I0902504      小麥  AR02\n",
       "1        3450.450253  2025   0   小麥  I0902422      小麥  AR02\n",
       "2        2492.820000  2025   0   小麥  I0902403      小麥  AR02\n",
       "3        1295.720665  2025   0   小麥  I0902403      小麥  AR02\n",
       "4        2897.307456  2025   0   小麥  I0902419      小麥  AR02\n",
       "...              ...   ...  ..  ...       ...     ...   ...\n",
       "1072903  1858.475687  2025   3   鳳梨  I1040509      鳳梨  AR52\n",
       "1072904   357.817979  2025   3   鳳梨  I1040509      鳳梨  AR52\n",
       "1072905  2292.646509  2025   3   鳳梨  I1040904      鳳梨  AR52\n",
       "1072906   511.447036  2025   3   鳳梨  I1040803      鳳梨  AR52\n",
       "1072907  1878.389632  2025   3   鳳梨  I1040509      鳳梨  AR52\n",
       "\n",
       "[1072908 rows x 7 columns]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.merge(df_crop, on='作物類別', how='left')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5a40a7ff",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[]\n"
     ]
    }
   ],
   "source": [
    "# 查看作物類別整併缺漏的資料\n",
    "print(df[df['作物別(整併)'].isna()]['作物類別'].unique())\n",
    "#df[df['作物別(整併)'].isna()].to_excel('作物類別整併_缺漏.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fa17f2dc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Counter({'I1040209': 2581,\n",
       "         'I1500715': 2417,\n",
       "         'I0700817': 2159,\n",
       "         'I1040109': 2147,\n",
       "         'I1040201': 2119,\n",
       "         'I1500801': 2109,\n",
       "         'I1400220': 2057,\n",
       "         'I1040311': 2027,\n",
       "         'I0902501': 1969,\n",
       "         'I1500806': 1924,\n",
       "         'I1400210': 1898,\n",
       "         'I0900706': 1823,\n",
       "         'I1040401': 1800,\n",
       "         'I1040404': 1788,\n",
       "         'I0900909': 1769,\n",
       "         'I0900202': 1743,\n",
       "         'I1040214': 1709,\n",
       "         'I0700803': 1697,\n",
       "         'I1500713': 1671,\n",
       "         'I0902203': 1668,\n",
       "         'I0900102': 1658,\n",
       "         'I0800408': 1636,\n",
       "         'I1500802': 1634,\n",
       "         'I1040208': 1617,\n",
       "         'I1040405': 1606,\n",
       "         'I1040309': 1581,\n",
       "         'I0701816': 1581,\n",
       "         'I1170113': 1542,\n",
       "         'I0700214': 1525,\n",
       "         'I1040403': 1493,\n",
       "         'I1400216': 1490,\n",
       "         'I1170104': 1475,\n",
       "         'I0700308': 1464,\n",
       "         'I0900704': 1461,\n",
       "         'I0900802': 1459,\n",
       "         'I1170105': 1443,\n",
       "         'I0700309': 1439,\n",
       "         'I0700213': 1432,\n",
       "         'I0902606': 1412,\n",
       "         'I1040402': 1411,\n",
       "         'I0800410': 1404,\n",
       "         'I1500706': 1404,\n",
       "         'I1400217': 1403,\n",
       "         'I0901801': 1392,\n",
       "         'I0902211': 1369,\n",
       "         'I1400209': 1368,\n",
       "         'I0700708': 1365,\n",
       "         'I1500714': 1359,\n",
       "         'I0900803': 1358,\n",
       "         'I1500815': 1351,\n",
       "         'I1400218': 1351,\n",
       "         'I1500813': 1335,\n",
       "         'I1400207': 1335,\n",
       "         'I0700305': 1332,\n",
       "         'I1040801': 1331,\n",
       "         'I0700307': 1303,\n",
       "         'I0900807': 1294,\n",
       "         'I0800304': 1286,\n",
       "         'I0601609': 1285,\n",
       "         'I0900603': 1278,\n",
       "         'I0701819': 1257,\n",
       "         'I0900705': 1245,\n",
       "         'I1151001': 1232,\n",
       "         'I1140801': 1231,\n",
       "         'I0800409': 1226,\n",
       "         'I1150115': 1214,\n",
       "         'I0900906': 1206,\n",
       "         'I1040407': 1204,\n",
       "         'I1040803': 1190,\n",
       "         'I1500709': 1168,\n",
       "         'I1040406': 1168,\n",
       "         'I0800303': 1167,\n",
       "         'I0902714': 1164,\n",
       "         'I1400615': 1163,\n",
       "         'I0700212': 1159,\n",
       "         'I1030503': 1157,\n",
       "         'I1500814': 1152,\n",
       "         'I0700815': 1147,\n",
       "         'I0900908': 1130,\n",
       "         'I0800518': 1126,\n",
       "         'I0700814': 1125,\n",
       "         'I0902507': 1105,\n",
       "         'I0800402': 1102,\n",
       "         'I0500524': 1102,\n",
       "         'I0901901': 1100,\n",
       "         'I0902504': 1099,\n",
       "         'I1500701': 1098,\n",
       "         'I0901809': 1087,\n",
       "         'I0800516': 1085,\n",
       "         'I0902417': 1082,\n",
       "         'I1170111': 1078,\n",
       "         'I0800505': 1074,\n",
       "         'I0902705': 1072,\n",
       "         'I0902704': 1066,\n",
       "         'I0902105': 1061,\n",
       "         'I1040303': 1051,\n",
       "         'I1400212': 1051,\n",
       "         'I1500603': 1044,\n",
       "         'I0700802': 1044,\n",
       "         'I0800510': 1042,\n",
       "         'I1500602': 1041,\n",
       "         'I0500201': 1037,\n",
       "         'I1010103': 1035,\n",
       "         'I1500804': 1033,\n",
       "         'I0700211': 1030,\n",
       "         'I0702016': 1030,\n",
       "         'I0700609': 1025,\n",
       "         'I1170102': 1023,\n",
       "         'I0800517': 1018,\n",
       "         'I0701802': 1017,\n",
       "         'I0902709': 1013,\n",
       "         'I0702204': 1013,\n",
       "         'I1140701': 1013,\n",
       "         'I0901206': 1012,\n",
       "         'I1400202': 1011,\n",
       "         'I1400205': 1011,\n",
       "         'I0902710': 1010,\n",
       "         'I1301213': 1009,\n",
       "         'I0601309': 999,\n",
       "         'I1500808': 998,\n",
       "         'I0700306': 998,\n",
       "         'I0800503': 997,\n",
       "         'I0902713': 993,\n",
       "         'I1500105': 993,\n",
       "         'I1140203': 993,\n",
       "         'I0500528': 992,\n",
       "         'I1500708': 991,\n",
       "         'I1400101': 984,\n",
       "         'I0902212': 982,\n",
       "         'I0700709': 982,\n",
       "         'I0901701': 981,\n",
       "         'I1400616': 981,\n",
       "         'I1500211': 977,\n",
       "         'I1500707': 976,\n",
       "         'I0902205': 969,\n",
       "         'I0900306': 968,\n",
       "         'I1400103': 968,\n",
       "         'I1040211': 962,\n",
       "         'I1040213': 955,\n",
       "         'I0702015': 954,\n",
       "         'I1400203': 950,\n",
       "         'I0902207': 949,\n",
       "         'I0900805': 945,\n",
       "         'I0901609': 942,\n",
       "         'I0902707': 939,\n",
       "         'I1400222': 938,\n",
       "         'I0500318': 936,\n",
       "         'I1400109': 936,\n",
       "         'I0800208': 935,\n",
       "         'I0700304': 935,\n",
       "         'I0500319': 934,\n",
       "         'I0500523': 933,\n",
       "         'I0800515': 932,\n",
       "         'I1040212': 930,\n",
       "         'I0700202': 928,\n",
       "         'I1151004': 927,\n",
       "         'I1301206': 924,\n",
       "         'I1040609': 920,\n",
       "         'I0500522': 912,\n",
       "         'I0800218': 912,\n",
       "         'I0901601': 910,\n",
       "         'I0701818': 909,\n",
       "         'I0700207': 906,\n",
       "         'I1140204': 906,\n",
       "         'I1040802': 903,\n",
       "         'I0902215': 902,\n",
       "         'I0702012': 902,\n",
       "         'I0700801': 900,\n",
       "         'I0900812': 899,\n",
       "         'I0702205': 896,\n",
       "         'I0902702': 894,\n",
       "         'I1400204': 893,\n",
       "         'I0702004': 892,\n",
       "         'I0700203': 891,\n",
       "         'I0702013': 891,\n",
       "         'I1040608': 889,\n",
       "         'I1140804': 882,\n",
       "         'I1140205': 879,\n",
       "         'I0100602': 874,\n",
       "         'I1150502': 871,\n",
       "         'I0902113': 869,\n",
       "         'I1500811': 864,\n",
       "         'I0400110': 861,\n",
       "         'I0701703': 859,\n",
       "         'I1010105': 859,\n",
       "         'I0700205': 857,\n",
       "         'I0700816': 854,\n",
       "         'I1400105': 853,\n",
       "         'I0901608': 850,\n",
       "         'I1500810': 844,\n",
       "         'I1500703': 842,\n",
       "         'I1200614': 842,\n",
       "         'I0700913': 841,\n",
       "         'I1170103': 840,\n",
       "         'I0800506': 839,\n",
       "         'I1030507': 837,\n",
       "         'I1150409': 833,\n",
       "         'I1201410': 833,\n",
       "         'I0800504': 832,\n",
       "         'I1020209': 832,\n",
       "         'I0601216': 830,\n",
       "         'I0702312': 829,\n",
       "         'I1500720': 828,\n",
       "         'I1400102': 828,\n",
       "         'I1140208': 826,\n",
       "         'I1040110': 826,\n",
       "         'I0702010': 825,\n",
       "         'I1140305': 825,\n",
       "         'I1040202': 825,\n",
       "         'I0900205': 822,\n",
       "         'I0902118': 821,\n",
       "         'I0500525': 821,\n",
       "         'I0902603': 819,\n",
       "         'I0902703': 819,\n",
       "         'I1400302': 819,\n",
       "         'I0800404': 817,\n",
       "         'I0700310': 816,\n",
       "         'I1020112': 815,\n",
       "         'I0902120': 813,\n",
       "         'I0902119': 813,\n",
       "         'I1500716': 813,\n",
       "         'I1010308': 812,\n",
       "         'I0702014': 809,\n",
       "         'I1400107': 809,\n",
       "         'I0500404': 798,\n",
       "         'I0702102': 793,\n",
       "         'I0702318': 793,\n",
       "         'I0800407': 792,\n",
       "         'I0700302': 792,\n",
       "         'I1140812': 792,\n",
       "         'I0900817': 789,\n",
       "         'I1040306': 789,\n",
       "         'I1140206': 783,\n",
       "         'I1400215': 783,\n",
       "         'I0800406': 781,\n",
       "         'I0500407': 781,\n",
       "         'I0702306': 780,\n",
       "         'I1400613': 779,\n",
       "         'I1400201': 779,\n",
       "         'I1030501': 779,\n",
       "         'I0800401': 776,\n",
       "         'I0702302': 776,\n",
       "         'I0902103': 775,\n",
       "         'I1500712': 775,\n",
       "         'I1400611': 775,\n",
       "         'I0700906': 774,\n",
       "         'I0902001': 773,\n",
       "         'I1170115': 773,\n",
       "         'I1140306': 771,\n",
       "         'I1140707': 764,\n",
       "         'I0902506': 763,\n",
       "         'I1030502': 763,\n",
       "         'I0701817': 760,\n",
       "         'I1140213': 759,\n",
       "         'I1140211': 757,\n",
       "         'I1170112': 757,\n",
       "         'I0701610': 753,\n",
       "         'I1170109': 753,\n",
       "         'I1170106': 752,\n",
       "         'I1400609': 752,\n",
       "         'I0601206': 751,\n",
       "         'I1030402': 751,\n",
       "         'I1170108': 750,\n",
       "         'I0601202': 749,\n",
       "         'I0900105': 748,\n",
       "         'I1200202': 747,\n",
       "         'I0800403': 747,\n",
       "         'I0700206': 742,\n",
       "         'I0902712': 741,\n",
       "         'I0701403': 740,\n",
       "         'I0800211': 738,\n",
       "         'I0700210': 737,\n",
       "         'I1120203': 736,\n",
       "         'I1500210': 734,\n",
       "         'I0700610': 731,\n",
       "         'I0901313': 724,\n",
       "         'I1010807': 724,\n",
       "         'I1151009': 723,\n",
       "         'I1500719': 723,\n",
       "         'I0601219': 722,\n",
       "         'I1400223': 721,\n",
       "         'I0701904': 720,\n",
       "         'I1150711': 719,\n",
       "         'I0601312': 719,\n",
       "         'I1140302': 719,\n",
       "         'I0902509': 718,\n",
       "         'I0902209': 718,\n",
       "         'I1500710': 718,\n",
       "         'I0800210': 718,\n",
       "         'I1041107': 718,\n",
       "         'I0702008': 718,\n",
       "         'I0702317': 718,\n",
       "         'I1010101': 718,\n",
       "         'I0902110': 717,\n",
       "         'I0700303': 717,\n",
       "         'I0700811': 714,\n",
       "         'I0700917': 714,\n",
       "         'I1150710': 712,\n",
       "         'I0901105': 710,\n",
       "         'I0900422': 709,\n",
       "         'I1500507': 709,\n",
       "         'I1150411': 708,\n",
       "         'I0400103': 707,\n",
       "         'I0902902': 706,\n",
       "         'I1200203': 706,\n",
       "         'I1140512': 705,\n",
       "         'I1400113': 705,\n",
       "         'I1010110': 705,\n",
       "         'I1500711': 703,\n",
       "         'I0902405': 699,\n",
       "         'I1150118': 699,\n",
       "         'I1400303': 698,\n",
       "         'I0902715': 697,\n",
       "         'I0902609': 697,\n",
       "         'I0601310': 697,\n",
       "         'I1301209': 697,\n",
       "         'I0701809': 697,\n",
       "         'I0800601': 695,\n",
       "         'I0701507': 694,\n",
       "         'I0601406': 693,\n",
       "         'I1400108': 691,\n",
       "         'I0901312': 689,\n",
       "         'I1160302': 689,\n",
       "         'I0601607': 689,\n",
       "         'I1140811': 689,\n",
       "         'I0900602': 688,\n",
       "         'I1150412': 688,\n",
       "         'I0702002': 688,\n",
       "         'I1040308': 684,\n",
       "         'I1160301': 684,\n",
       "         'I1150601': 682,\n",
       "         'I0700608': 681,\n",
       "         'I0702301': 681,\n",
       "         'I0901201': 678,\n",
       "         'I0901310': 678,\n",
       "         'I1400912': 678,\n",
       "         'I0900311': 677,\n",
       "         'I1400618': 677,\n",
       "         'I1010808': 677,\n",
       "         'I1400621': 676,\n",
       "         'I0300827': 676,\n",
       "         'I0900204': 675,\n",
       "         'I0601217': 675,\n",
       "         'I1140212': 675,\n",
       "         'I0902204': 674,\n",
       "         'I1150104': 673,\n",
       "         'I1040302': 673,\n",
       "         'I0702005': 673,\n",
       "         'I0901314': 672,\n",
       "         'I1040304': 672,\n",
       "         'I0901803': 671,\n",
       "         'I1500812': 671,\n",
       "         'I0702319': 671,\n",
       "         'I1030409': 671,\n",
       "         'I0800509': 670,\n",
       "         'I0900804': 669,\n",
       "         'I0300806': 669,\n",
       "         'I1020501': 669,\n",
       "         'I1130402': 667,\n",
       "         'I1020104': 666,\n",
       "         'I1151111': 664,\n",
       "         'I0702313': 664,\n",
       "         'I1150503': 663,\n",
       "         'I1010108': 663,\n",
       "         'I0902901': 662,\n",
       "         'I0700406': 662,\n",
       "         'I1150712': 661,\n",
       "         'I0800508': 661,\n",
       "         'I1020602': 660,\n",
       "         'I0901606': 657,\n",
       "         'I0701905': 657,\n",
       "         'I0902114': 654,\n",
       "         'I0902411': 654,\n",
       "         'I1020307': 654,\n",
       "         'I1040102': 654,\n",
       "         'I0700204': 653,\n",
       "         'I0601401': 653,\n",
       "         'I0701821': 653,\n",
       "         'I1040908': 650,\n",
       "         'I1010406': 649,\n",
       "         'I1040107': 649,\n",
       "         'I0900104': 648,\n",
       "         'I0902403': 647,\n",
       "         'I0901702': 647,\n",
       "         'I1011104': 647,\n",
       "         'I1140406': 646,\n",
       "         'I0700805': 643,\n",
       "         'I0902502': 642,\n",
       "         'I0800209': 642,\n",
       "         'I1010803': 642,\n",
       "         'I0901711': 641,\n",
       "         'I0900106': 640,\n",
       "         'I0700905': 640,\n",
       "         'I1010408': 639,\n",
       "         'I0902116': 638,\n",
       "         'I0700812': 638,\n",
       "         'I1040205': 638,\n",
       "         'I0701502': 636,\n",
       "         'I1020506': 636,\n",
       "         'I1160203': 635,\n",
       "         'I0902604': 634,\n",
       "         'I1200204': 634,\n",
       "         'I1120403': 634,\n",
       "         'I1140704': 633,\n",
       "         'I0800607': 632,\n",
       "         'I1020306': 632,\n",
       "         'I0900504': 631,\n",
       "         'I1150906': 631,\n",
       "         'I0800305': 631,\n",
       "         'I0701906': 631,\n",
       "         'I1010312': 631,\n",
       "         'I0900703': 630,\n",
       "         'I1140408': 630,\n",
       "         'I1500718': 629,\n",
       "         'I1120514': 629,\n",
       "         'I1201205': 626,\n",
       "         'I0901903': 625,\n",
       "         'I1030511': 625,\n",
       "         'I0800604': 623,\n",
       "         'I1140702': 623,\n",
       "         'I0902107': 622,\n",
       "         'I0901605': 622,\n",
       "         'I0800203': 622,\n",
       "         'I1120211': 622,\n",
       "         'I1020106': 622,\n",
       "         'I0902601': 620,\n",
       "         'I0901414': 620,\n",
       "         'I1150708': 620,\n",
       "         'I0701609': 618,\n",
       "         'I1150904': 617,\n",
       "         'I0900801': 616,\n",
       "         'I0700910': 616,\n",
       "         'I1010106': 616,\n",
       "         'I0901307': 615,\n",
       "         'I1151010': 615,\n",
       "         'I0900707': 614,\n",
       "         'I1010310': 613,\n",
       "         'I1600008': 612,\n",
       "         'I0500205': 611,\n",
       "         'I0700806': 610,\n",
       "         'I1120501': 610,\n",
       "         'I1500508': 609,\n",
       "         'I0900219': 608,\n",
       "         'I0902208': 607,\n",
       "         'I0901902': 605,\n",
       "         'I1150905': 605,\n",
       "         'I1300507': 604,\n",
       "         'I0701304': 604,\n",
       "         'I1010502': 604,\n",
       "         'I1020601': 603,\n",
       "         'I0800204': 602,\n",
       "         'I0701604': 602,\n",
       "         'I0900420': 601,\n",
       "         'I1150706': 601,\n",
       "         'I1150605': 601,\n",
       "         'I0800308': 601,\n",
       "         'I0300927': 600,\n",
       "         'I0601102': 599,\n",
       "         'I1040206': 599,\n",
       "         'I0902818': 598,\n",
       "         'I0900408': 598,\n",
       "         'I0901015': 598,\n",
       "         'I0300722': 598,\n",
       "         'I0902112': 597,\n",
       "         'I0701625': 596,\n",
       "         'I1130404': 595,\n",
       "         'I1120208': 593,\n",
       "         'I1140705': 592,\n",
       "         'I0800605': 591,\n",
       "         'I1500404': 590,\n",
       "         'I0601218': 590,\n",
       "         'I1020404': 589,\n",
       "         'I1150509': 588,\n",
       "         'I0700901': 588,\n",
       "         'I1020305': 587,\n",
       "         'I0500202': 586,\n",
       "         'I0900404': 585,\n",
       "         'I1150505': 585,\n",
       "         'I1150410': 585,\n",
       "         'I1500501': 585,\n",
       "         'I0702201': 584,\n",
       "         'I0701803': 584,\n",
       "         'I1011002': 584,\n",
       "         'I1160505': 583,\n",
       "         'I0500219': 583,\n",
       "         'I0800405': 583,\n",
       "         'I0702304': 582,\n",
       "         'I1130202': 582,\n",
       "         'I1400206': 582,\n",
       "         'I1150713': 581,\n",
       "         'I0601221': 581,\n",
       "         'I0901904': 580,\n",
       "         'I1140703': 580,\n",
       "         'I0500118': 579,\n",
       "         'I1400211': 579,\n",
       "         'I0900701': 578,\n",
       "         'I0902605': 577,\n",
       "         'I0901806': 576,\n",
       "         'I1500303': 576,\n",
       "         'I0900312': 575,\n",
       "         'I1300510': 575,\n",
       "         'I1120509': 574,\n",
       "         'I1020208': 573,\n",
       "         'I0902611': 572,\n",
       "         'I0900905': 572,\n",
       "         'I1020608': 572,\n",
       "         'I0900702': 570,\n",
       "         'I1140202': 570,\n",
       "         'I1030404': 570,\n",
       "         'I0901203': 569,\n",
       "         'I0902807': 568,\n",
       "         'I0700703': 568,\n",
       "         'I1400208': 568,\n",
       "         'I0900407': 567,\n",
       "         'I0902202': 567,\n",
       "         'I1500208': 567,\n",
       "         'I0800207': 567,\n",
       "         'I0701805': 567,\n",
       "         'I1151006': 566,\n",
       "         'I0100813': 565,\n",
       "         'I1140709': 565,\n",
       "         'I0900314': 564,\n",
       "         'I0800514': 564,\n",
       "         'I0902115': 563,\n",
       "         'I1170110': 563,\n",
       "         'I1010403': 563,\n",
       "         'I0900510': 562,\n",
       "         'I0902108': 562,\n",
       "         'I0601314': 561,\n",
       "         'I0702011': 561,\n",
       "         'I1010407': 561,\n",
       "         'I1020210': 560,\n",
       "         'I1160303': 559,\n",
       "         'I1130203': 559,\n",
       "         'I0400502': 559,\n",
       "         'I1010303': 559,\n",
       "         'I0601222': 558,\n",
       "         'I0701408': 558,\n",
       "         'I0900224': 557,\n",
       "         'I0601315': 557,\n",
       "         'I0902206': 556,\n",
       "         'I1120508': 556,\n",
       "         'I1010809': 555,\n",
       "         'I1140706': 554,\n",
       "         'I1400111': 554,\n",
       "         'I1030505': 554,\n",
       "         'I0902201': 553,\n",
       "         'I0900223': 553,\n",
       "         'I1120212': 553,\n",
       "         'I1030113': 553,\n",
       "         'I1150405': 552,\n",
       "         'I0700912': 551,\n",
       "         'I0700604': 551,\n",
       "         'I0700915': 551,\n",
       "         'I1151007': 550,\n",
       "         'I1300514': 550,\n",
       "         'I0300721': 550,\n",
       "         'I0902812': 549,\n",
       "         'I0701503': 549,\n",
       "         'I1151005': 548,\n",
       "         'I0700701': 548,\n",
       "         'I0702009': 547,\n",
       "         'I1020105': 547,\n",
       "         'I1030510': 547,\n",
       "         'I0500521': 546,\n",
       "         'I1300511': 546,\n",
       "         'I1151011': 545,\n",
       "         'I1040804': 545,\n",
       "         'I0800302': 544,\n",
       "         'I1400410': 544,\n",
       "         'I1020212': 543,\n",
       "         'I0901808': 542,\n",
       "         'I1010102': 542,\n",
       "         'I0902602': 541,\n",
       "         'I0900101': 541,\n",
       "         'I0901110': 541,\n",
       "         'I0901011': 540,\n",
       "         'I1040904': 540,\n",
       "         'I1040106': 540,\n",
       "         'I0100115': 539,\n",
       "         'I1300508': 539,\n",
       "         'I1020303': 539,\n",
       "         'I0902101': 538,\n",
       "         'I1500807': 537,\n",
       "         'I1010401': 537,\n",
       "         'I1010311': 537,\n",
       "         'I0500403': 535,\n",
       "         'I1020302': 535,\n",
       "         'I0601615': 534,\n",
       "         'I0800214': 534,\n",
       "         'I1020502': 534,\n",
       "         'I1400617': 533,\n",
       "         'I1140409': 532,\n",
       "         'I1020206': 532,\n",
       "         'I1010202': 532,\n",
       "         'I1010805': 532,\n",
       "         'I1010207': 531,\n",
       "         'I1150604': 530,\n",
       "         'I1020109': 530,\n",
       "         'I0700916': 529,\n",
       "         'I1030108': 529,\n",
       "         'I1150406': 528,\n",
       "         'I1500705': 528,\n",
       "         'I1300512': 528,\n",
       "         'I1300513': 527,\n",
       "         'I1011111': 527,\n",
       "         'I1020201': 527,\n",
       "         'I1160606': 526,\n",
       "         'I1160210': 525,\n",
       "         'I0500401': 525,\n",
       "         'I0902815': 524,\n",
       "         'I1500401': 524,\n",
       "         'I0700810': 524,\n",
       "         'I1120204': 524,\n",
       "         'I1130710': 523,\n",
       "         'I1140708': 523,\n",
       "         'I0300807': 523,\n",
       "         'I1020605': 523,\n",
       "         'I0100514': 521,\n",
       "         'I0902810': 520,\n",
       "         'I0800216': 520,\n",
       "         'I0400105': 520,\n",
       "         'I0100616': 518,\n",
       "         'I1010919': 518,\n",
       "         'I1500302': 517,\n",
       "         'I1130405': 517,\n",
       "         'I1010107': 517,\n",
       "         'I1160502': 516,\n",
       "         'I1500212': 516,\n",
       "         'I1010902': 516,\n",
       "         'I1200601': 515,\n",
       "         'I0902122': 513,\n",
       "         'I0400604': 513,\n",
       "         'I0701806': 513,\n",
       "         'I0500226': 512,\n",
       "         'I0500405': 512,\n",
       "         'I0902406': 511,\n",
       "         'I0900806': 511,\n",
       "         'I0900313': 510,\n",
       "         'I0300947': 510,\n",
       "         'I0800306': 510,\n",
       "         'I0701807': 510,\n",
       "         'I1011301': 510,\n",
       "         'I0901804': 508,\n",
       "         'I0300824': 508,\n",
       "         'I0601709': 507,\n",
       "         'I1140309': 507,\n",
       "         'I0300810': 507,\n",
       "         'I1010905': 507,\n",
       "         'I1200207': 506,\n",
       "         'I1300505': 506,\n",
       "         'I0700914': 506,\n",
       "         'I1020108': 506,\n",
       "         'I1150506': 505,\n",
       "         'I0701412': 505,\n",
       "         'I1400112': 505,\n",
       "         'I1140405': 503,\n",
       "         'I1400104': 503,\n",
       "         'I0700711': 502,\n",
       "         'I1300501': 502,\n",
       "         'I0901802': 501,\n",
       "         'I0100619': 501,\n",
       "         'I0902706': 500,\n",
       "         'I0601711': 500,\n",
       "         'I0902801': 499,\n",
       "         'I1301201': 498,\n",
       "         'I1400219': 498,\n",
       "         'I1030105': 497,\n",
       "         'I0100203': 496,\n",
       "         'I0601224': 496,\n",
       "         'I1010806': 495,\n",
       "         'I0701822': 494,\n",
       "         'I1010906': 493,\n",
       "         'I1160404': 492,\n",
       "         'I0601710': 492,\n",
       "         'I0701804': 492,\n",
       "         'I1120516': 492,\n",
       "         'I1120517': 492,\n",
       "         'I1010307': 492,\n",
       "         'I0902802': 491,\n",
       "         'I1150407': 491,\n",
       "         'I0901401': 490,\n",
       "         'I1150806': 489,\n",
       "         'I0702203': 489,\n",
       "         'I0800512': 489,\n",
       "         'I0900810': 488,\n",
       "         'I1120507': 488,\n",
       "         'I1030305': 488,\n",
       "         'I0100905': 487,\n",
       "         'I0400215': 487,\n",
       "         'I0900403': 486,\n",
       "         'I0500206': 486,\n",
       "         'I1040903': 486,\n",
       "         'I0901909': 485,\n",
       "         'I0901603': 485,\n",
       "         'I1150116': 485,\n",
       "         'I1011112': 484,\n",
       "         'I1030202': 484,\n",
       "         'I1040509': 484,\n",
       "         'I0902608': 483,\n",
       "         'I1400910': 483,\n",
       "         'I0900309': 482,\n",
       "         'I0901301': 482,\n",
       "         'I1010804': 482,\n",
       "         'I1040112': 482,\n",
       "         'I1150408': 481,\n",
       "         'I0902914': 481,\n",
       "         'I1300506': 481,\n",
       "         'I0900410': 480,\n",
       "         'I1151002': 480,\n",
       "         'I1150607': 480,\n",
       "         'I1500405': 480,\n",
       "         'I1300310': 480,\n",
       "         'I0702303': 480,\n",
       "         'I1030112': 480,\n",
       "         'I1011302': 480,\n",
       "         'I1160206': 479,\n",
       "         'I0601208': 479,\n",
       "         'I1120201': 478,\n",
       "         'I1011117': 478,\n",
       "         'I0601313': 477,\n",
       "         'I1120110': 477,\n",
       "         'I1500805': 476,\n",
       "         'I0100615': 476,\n",
       "         'I0100614': 476,\n",
       "         'I0902607': 475,\n",
       "         'I0901419': 475,\n",
       "         'I1170107': 475,\n",
       "         'I0400514': 474,\n",
       "         'I1020603': 474,\n",
       "         'I1040207': 474,\n",
       "         'I0902803': 473,\n",
       "         'I0701823': 473,\n",
       "         'I0702308': 473,\n",
       "         'I1160211': 472,\n",
       "         'I1120109': 472,\n",
       "         'I1140810': 472,\n",
       "         'I1020301': 472,\n",
       "         'I1150107': 471,\n",
       "         'I0900415': 470,\n",
       "         'I0701614': 470,\n",
       "         'I0900811': 469,\n",
       "         'I0900227': 469,\n",
       "         'I0901007': 469,\n",
       "         'I0901204': 469,\n",
       "         'I1150907': 469,\n",
       "         'I0300941': 468,\n",
       "         'I0300918': 468,\n",
       "         'I0601617': 468,\n",
       "         'I1030211': 468,\n",
       "         'I1160509': 467,\n",
       "         'I1160209': 467,\n",
       "         'I0100509': 467,\n",
       "         'I1140501': 467,\n",
       "         'I0900417': 466,\n",
       "         'I1020519': 466,\n",
       "         'I1010109': 466,\n",
       "         'I0900816': 465,\n",
       "         'I0902106': 465,\n",
       "         'I0100507': 465,\n",
       "         'I0700209': 465,\n",
       "         'I0902913': 465,\n",
       "         'I1160507': 464,\n",
       "         'I1300412': 464,\n",
       "         'I1140209': 464,\n",
       "         'I1150610': 463,\n",
       "         'I0700911': 463,\n",
       "         'I1120405': 463,\n",
       "         'I1140802': 463,\n",
       "         'I0400113': 463,\n",
       "         'I1030708': 463,\n",
       "         'I0902216': 462,\n",
       "         'I1151003': 462,\n",
       "         'I0300615': 462,\n",
       "         'I1150614': 461,\n",
       "         'I0700710': 461,\n",
       "         'I1120205': 461,\n",
       "         'I1011307': 461,\n",
       "         'I1030711': 461,\n",
       "         'I1010206': 461,\n",
       "         'I0901109': 460,\n",
       "         'I0300946': 460,\n",
       "         'I1020304': 460,\n",
       "         'I1150508': 459,\n",
       "         'I1130312': 459,\n",
       "         'I0700602': 458,\n",
       "         'I1600009': 458,\n",
       "         'I1030406': 458,\n",
       "         'I0900226': 457,\n",
       "         'I0701623': 457,\n",
       "         'I1150709': 456,\n",
       "         'I1150507': 456,\n",
       "         'I0100604': 455,\n",
       "         'I0100208': 455,\n",
       "         'I0700201': 455,\n",
       "         'I0300213': 455,\n",
       "         'I0902214': 454,\n",
       "         'I1140210': 454,\n",
       "         'I0902811': 452,\n",
       "         'I1170205': 452,\n",
       "         'I0901208': 451,\n",
       "         'I1160201': 451,\n",
       "         'I0700405': 451,\n",
       "         'I1130403': 451,\n",
       "         'I1400612': 451,\n",
       "         'I0901412': 450,\n",
       "         'I0901807': 450,\n",
       "         'I1160215': 450,\n",
       "         'I0700813': 450,\n",
       "         'I0300834': 450,\n",
       "         'I1150903': 449,\n",
       "         'I1030204': 449,\n",
       "         'I0901303': 448,\n",
       "         'I0100503': 448,\n",
       "         'I1020411': 448,\n",
       "         'I0901108': 447,\n",
       "         'I1161008': 447,\n",
       "         'I1300305': 447,\n",
       "         'I1010104': 447,\n",
       "         'I1011014': 447,\n",
       "         'I1030203': 447,\n",
       "         'I0601805': 446,\n",
       "         'I0100313': 446,\n",
       "         'I1201403': 446,\n",
       "         'I1201310': 446,\n",
       "         'I0300910': 446,\n",
       "         'I0901302': 445,\n",
       "         'I1140813': 445,\n",
       "         'I0902014': 444,\n",
       "         'I1200606': 444,\n",
       "         'I0700704': 444,\n",
       "         'I0901207': 443,\n",
       "         'I0601311': 443,\n",
       "         'I1040905': 443,\n",
       "         'I1020211': 443,\n",
       "         'I1010208': 443,\n",
       "         'I0601101': 442,\n",
       "         'I1120202': 442,\n",
       "         'I0902814': 441,\n",
       "         'I1160701': 441,\n",
       "         'I0100618': 441,\n",
       "         'I0400109': 441,\n",
       "         'I1301703': 440,\n",
       "         'I1120306': 440,\n",
       "         'I1010409': 440,\n",
       "         'I1011005': 440,\n",
       "         'I1161010': 439,\n",
       "         'I0400515': 439,\n",
       "         'I1150809': 438,\n",
       "         'I1160212': 438,\n",
       "         'I0601604': 438,\n",
       "         'I0601806': 437,\n",
       "         'I1010501': 437,\n",
       "         'I1030101': 437,\n",
       "         'I0900907': 436,\n",
       "         'I1160504': 436,\n",
       "         'I1151104': 436,\n",
       "         'I1150504': 436,\n",
       "         'I0700804': 436,\n",
       "         'I0800520': 436,\n",
       "         'I1030509': 436,\n",
       "         'I1020509': 436,\n",
       "         'I1010405': 436,\n",
       "         'I1010802': 436,\n",
       "         'I0100608': 435,\n",
       "         'I0601407': 435,\n",
       "         'I1170101': 435,\n",
       "         'I1030906': 435,\n",
       "         'I1161309': 434,\n",
       "         'I1400614': 434,\n",
       "         'I0902412': 433,\n",
       "         'I0901417': 433,\n",
       "         'I0400602': 433,\n",
       "         'I1120207': 433,\n",
       "         'I1010503': 433,\n",
       "         'I1020111': 433,\n",
       "         'I1150707': 432,\n",
       "         'I1030407': 432,\n",
       "         'I0900910': 431,\n",
       "         'I0100515': 431,\n",
       "         'I1140201': 431,\n",
       "         'I1020213': 431,\n",
       "         'I1010402': 431,\n",
       "         'I1011102': 431,\n",
       "         'I0100404': 430,\n",
       "         'I0700705': 430,\n",
       "         'I1300503': 430,\n",
       "         'I0701405': 430,\n",
       "         'I0702105': 429,\n",
       "         'I1011113': 429,\n",
       "         'I0900414': 428,\n",
       "         'I0902708': 428,\n",
       "         'I1161203': 428,\n",
       "         'I0500228': 428,\n",
       "         'I1400607': 428,\n",
       "         'I1400114': 428,\n",
       "         'I0300905': 428,\n",
       "         'I1040111': 428,\n",
       "         'I1160508': 427,\n",
       "         'I0100807': 427,\n",
       "         'I0100918': 427,\n",
       "         'I0800810': 427,\n",
       "         'I1130606': 427,\n",
       "         'I0500417': 426,\n",
       "         'I1010908': 426,\n",
       "         'I0902711': 425,\n",
       "         'I0900216': 425,\n",
       "         'I0500222': 425,\n",
       "         'I0100117': 425,\n",
       "         'I1120209': 425,\n",
       "         'I1500503': 424,\n",
       "         'I1500606': 424,\n",
       "         'I0100617': 424,\n",
       "         'I1140303': 424,\n",
       "         'I1130102': 424,\n",
       "         'I1400801': 424,\n",
       "         'I0902716': 423,\n",
       "         'I0400605': 423,\n",
       "         'I1400221': 423,\n",
       "         'I1011012': 423,\n",
       "         'I0100408': 422,\n",
       "         'I1020102': 422,\n",
       "         'I0800519': 421,\n",
       "         'I1030712': 421,\n",
       "         'I1011303': 421,\n",
       "         'I0900604': 420,\n",
       "         'I1200607': 420,\n",
       "         'I1011105': 420,\n",
       "         'I0100207': 419,\n",
       "         'I0601308': 419,\n",
       "         'I0601610': 419,\n",
       "         'I0700509': 419,\n",
       "         'I1140108': 419,\n",
       "         'I0400416': 419,\n",
       "         'I0800205': 418,\n",
       "         'I1140809': 418,\n",
       "         'I1150117': 417,\n",
       "         'I1201406': 417,\n",
       "         'I1150807': 416,\n",
       "         'I1151108': 416,\n",
       "         'I0100916': 416,\n",
       "         'I0400415': 416,\n",
       "         'I1030103': 416,\n",
       "         'I0300951': 415,\n",
       "         'I0100215': 415,\n",
       "         'I0800603': 415,\n",
       "         'I1130108': 415,\n",
       "         'I1020806': 415,\n",
       "         'I1011007': 415,\n",
       "         'I0100802': 414,\n",
       "         'I1300108': 414,\n",
       "         'I1160407': 413,\n",
       "         'I1500505': 413,\n",
       "         'I0100613': 413,\n",
       "         'I0300812': 413,\n",
       "         'I1010201': 413,\n",
       "         'I1030603': 413,\n",
       "         'I1010918': 413,\n",
       "         'I1020508': 412,\n",
       "         'I1010818': 412,\n",
       "         'I1150901': 411,\n",
       "         'I0601504': 411,\n",
       "         'I1120404': 411,\n",
       "         'I1120210': 411,\n",
       "         'I0400509': 411,\n",
       "         'I0100513': 410,\n",
       "         'I0701608': 410,\n",
       "         'I1400604': 410,\n",
       "         'I0500408': 409,\n",
       "         'I0400518': 409,\n",
       "         'I0100103': 409,\n",
       "         'I0200307': 409,\n",
       "         'I1130206': 409,\n",
       "         'I0701506': 408,\n",
       "         'I1300515': 407,\n",
       "         'I1030611': 407,\n",
       "         'I0800219': 406,\n",
       "         'I1130401': 406,\n",
       "         'I1020101': 406,\n",
       "         'I1020607': 406,\n",
       "         'I1161012': 405,\n",
       "         'I1150603': 405,\n",
       "         'I0701409': 405,\n",
       "         'I0700903': 405,\n",
       "         'I1140508': 405,\n",
       "         'I0400318': 405,\n",
       "         'I1140509': 404,\n",
       "         'I0901009': 403,\n",
       "         'I0100502': 403,\n",
       "         'I0701622': 403,\n",
       "         'I1150703': 402,\n",
       "         'I0300928': 402,\n",
       "         'I0700410': 401,\n",
       "         'I1020804': 401,\n",
       "         'I0902805': 400,\n",
       "         'I0902102': 400,\n",
       "         'I1160208': 400,\n",
       "         'I0100701': 400,\n",
       "         'I0601105': 400,\n",
       "         'I0701404': 400,\n",
       "         ...})"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count_class = Counter(df[\"水利小組編號\"])\n",
    "count_class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8cdbe411",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>面積</th>\n",
       "      <th>年份</th>\n",
       "      <th>期作</th>\n",
       "      <th>作物類別</th>\n",
       "      <th>水利小組編號</th>\n",
       "      <th>作物別(整併)</th>\n",
       "      <th>作物編碼</th>\n",
       "      <th>工作站編號</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2031.338149</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>0902504</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "      <td>09025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3450.450253</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>0902422</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "      <td>09024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2492.820000</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>0902403</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "      <td>09024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1295.720665</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>0902403</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "      <td>09024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2897.307456</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>小麥</td>\n",
       "      <td>0902419</td>\n",
       "      <td>小麥</td>\n",
       "      <td>AR02</td>\n",
       "      <td>09024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072903</th>\n",
       "      <td>1858.475687</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "      <td>10405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072904</th>\n",
       "      <td>357.817979</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "      <td>10405</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072905</th>\n",
       "      <td>2292.646509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>1040904</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "      <td>10409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072906</th>\n",
       "      <td>511.447036</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>1040803</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "      <td>10408</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072907</th>\n",
       "      <td>1878.389632</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>1040509</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>AR52</td>\n",
       "      <td>10405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1072908 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                  面積    年份  期作 作物類別   水利小組編號 作物別(整併)  作物編碼  工作站編號\n",
       "0        2031.338149  2025   0   小麥  0902504      小麥  AR02  09025\n",
       "1        3450.450253  2025   0   小麥  0902422      小麥  AR02  09024\n",
       "2        2492.820000  2025   0   小麥  0902403      小麥  AR02  09024\n",
       "3        1295.720665  2025   0   小麥  0902403      小麥  AR02  09024\n",
       "4        2897.307456  2025   0   小麥  0902419      小麥  AR02  09024\n",
       "...              ...   ...  ..  ...      ...     ...   ...    ...\n",
       "1072903  1858.475687  2025   3   鳳梨  1040509      鳳梨  AR52  10405\n",
       "1072904   357.817979  2025   3   鳳梨  1040509      鳳梨  AR52  10405\n",
       "1072905  2292.646509  2025   3   鳳梨  1040904      鳳梨  AR52  10409\n",
       "1072906   511.447036  2025   3   鳳梨  1040803      鳳梨  AR52  10408\n",
       "1072907  1878.389632  2025   3   鳳梨  1040509      鳳梨  AR52  10405\n",
       "\n",
       "[1072908 rows x 8 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['工作站編號'] = df['水利小組編號'].str[1:6]\n",
    "df['水利小組編號'] = df['水利小組編號'].str[1:]\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "9212f470",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>WorkStationId</th>\n",
       "      <th>WorkStationGrpId</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>CropType</th>\n",
       "      <th>Area</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>09025</td>\n",
       "      <td>0902504</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2031.338149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902422</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>3450.450253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902403</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2492.820000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902403</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>1295.720665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902419</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2897.307456</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072903</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>1858.475687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072904</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>357.817979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072905</th>\n",
       "      <td>10409</td>\n",
       "      <td>1040904</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>2292.646509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072906</th>\n",
       "      <td>10408</td>\n",
       "      <td>1040803</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>511.447036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072907</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>1878.389632</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1072908 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        WorkStationId WorkStationGrpId  DataYear  PeriodNo CropType  \\\n",
       "0               09025          0902504      2025         0     AR02   \n",
       "1               09024          0902422      2025         0     AR02   \n",
       "2               09024          0902403      2025         0     AR02   \n",
       "3               09024          0902403      2025         0     AR02   \n",
       "4               09024          0902419      2025         0     AR02   \n",
       "...               ...              ...       ...       ...      ...   \n",
       "1072903         10405          1040509      2025         3     AR52   \n",
       "1072904         10405          1040509      2025         3     AR52   \n",
       "1072905         10409          1040904      2025         3     AR52   \n",
       "1072906         10408          1040803      2025         3     AR52   \n",
       "1072907         10405          1040509      2025         3     AR52   \n",
       "\n",
       "                Area  \n",
       "0        2031.338149  \n",
       "1        3450.450253  \n",
       "2        2492.820000  \n",
       "3        1295.720665  \n",
       "4        2897.307456  \n",
       "...              ...  \n",
       "1072903  1858.475687  \n",
       "1072904   357.817979  \n",
       "1072905  2292.646509  \n",
       "1072906   511.447036  \n",
       "1072907  1878.389632  \n",
       "\n",
       "[1072908 rows x 6 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# reorder & rename columns\n",
    "df_sql = df[['工作站編號','水利小組編號','年份','期作','作物編碼','面積']]   \n",
    "df_sql = df_sql.rename(columns={\n",
    "        '工作站編號': 'WorkStationId',\n",
    "        '水利小組編號': 'WorkStationGrpId',\n",
    "        '年份': 'DataYear',\n",
    "        '期作': 'PeriodNo',\n",
    "        '作物編碼':'CropType',\n",
    "        '面積':'Area',\n",
    "    })\n",
    "df_sql"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "7a36c958",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 剔除嘉南一般區範圍\n",
    "#stn_chianan = [\"11101\",\"11501\",\"11502\",\"11503\",\"11504\",\"11505\",\"11510\",\"11701\",\"11702\"]\n",
    "#df = df[~df['WorkStationId'].isin(stn_chianan)]\n",
    "#df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "9c80309f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>WorkStationId</th>\n",
       "      <th>WorkStationGrpId</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>CropType</th>\n",
       "      <th>Area</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>09025</td>\n",
       "      <td>0902504</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2031.338149</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902422</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>3450.450253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902403</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2492.820000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902403</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>1295.720665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>09024</td>\n",
       "      <td>0902419</td>\n",
       "      <td>2025</td>\n",
       "      <td>0</td>\n",
       "      <td>AR02</td>\n",
       "      <td>2897.307456</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072903</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>1858.475687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072904</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>357.817979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072905</th>\n",
       "      <td>10409</td>\n",
       "      <td>1040904</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>2292.646509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072906</th>\n",
       "      <td>10408</td>\n",
       "      <td>1040803</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>511.447036</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1072907</th>\n",
       "      <td>10405</td>\n",
       "      <td>1040509</td>\n",
       "      <td>2025</td>\n",
       "      <td>3</td>\n",
       "      <td>AR52</td>\n",
       "      <td>1878.389632</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1072908 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        WorkStationId WorkStationGrpId  DataYear  PeriodNo CropType  \\\n",
       "0               09025          0902504      2025         0     AR02   \n",
       "1               09024          0902422      2025         0     AR02   \n",
       "2               09024          0902403      2025         0     AR02   \n",
       "3               09024          0902403      2025         0     AR02   \n",
       "4               09024          0902419      2025         0     AR02   \n",
       "...               ...              ...       ...       ...      ...   \n",
       "1072903         10405          1040509      2025         3     AR52   \n",
       "1072904         10405          1040509      2025         3     AR52   \n",
       "1072905         10409          1040904      2025         3     AR52   \n",
       "1072906         10408          1040803      2025         3     AR52   \n",
       "1072907         10405          1040509      2025         3     AR52   \n",
       "\n",
       "                Area  \n",
       "0        2031.338149  \n",
       "1        3450.450253  \n",
       "2        2492.820000  \n",
       "3        1295.720665  \n",
       "4        2897.307456  \n",
       "...              ...  \n",
       "1072903  1858.475687  \n",
       "1072904   357.817979  \n",
       "1072905  2292.646509  \n",
       "1072906   511.447036  \n",
       "1072907  1878.389632  \n",
       "\n",
       "[1072908 rows x 6 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 剔除重複資料(check,非必須)\n",
    "df_sql = df_sql.drop_duplicates()\n",
    "df_sql"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fc3b92d4",
   "metadata": {},
   "source": [
    "# 以工作站、水利小組統計"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "69f68284",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>WorkStationId</th>\n",
       "      <th>WorkStationGrpId</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>CropType</th>\n",
       "      <th>Area</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100101</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>484977.719205</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100103</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>838879.309128</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100104</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>2176.787995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100105</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>591105.989396</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100106</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>232180.216356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11037</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>167098.493037</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11038</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>AR06</td>\n",
       "      <td>129312.533291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11039</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.170950</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11040</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.076999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11041</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600014</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>12784.162065</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11042 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      WorkStationId WorkStationGrpId  DataYear  PeriodNo CropType  \\\n",
       "0             01001          0100101      2025         1     AR06   \n",
       "1             01001          0100103      2025         1     AR06   \n",
       "2             01001          0100104      2025         1     AR06   \n",
       "3             01001          0100105      2025         1     AR06   \n",
       "4             01001          0100106      2025         1     AR06   \n",
       "...             ...              ...       ...       ...      ...   \n",
       "11037         16000          1600010      2025         1     AR06   \n",
       "11038         16000          1600010      2025         2     AR06   \n",
       "11039         16000          1600012      2025         1     AR06   \n",
       "11040         16000          1600012      2025         2     AR06   \n",
       "11041         16000          1600014      2025         1     AR06   \n",
       "\n",
       "                Area  \n",
       "0      484977.719205  \n",
       "1      838879.309128  \n",
       "2        2176.787995  \n",
       "3      591105.989396  \n",
       "4      232180.216356  \n",
       "...              ...  \n",
       "11037  167098.493037  \n",
       "11038  129312.533291  \n",
       "11039  163857.170950  \n",
       "11040  163857.076999  \n",
       "11041   12784.162065  \n",
       "\n",
       "[11042 rows x 6 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_summary = df_sql.groupby(['WorkStationId','WorkStationGrpId','DataYear','PeriodNo','CropType'])['Area'].sum().reset_index()\n",
    "df_summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "3cdf124c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>WorkStationId</th>\n",
       "      <th>WorkStationGrpId</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>CropType</th>\n",
       "      <th>Area</th>\n",
       "      <th>ChiananNormalDistrict</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100101</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>484977.719205</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100103</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>838879.309128</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100104</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>2176.787995</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100105</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>591105.989396</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100106</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>232180.216356</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11037</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>167098.493037</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11038</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>AR06</td>\n",
       "      <td>129312.533291</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11039</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.170950</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11040</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.076999</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11041</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600014</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>AR06</td>\n",
       "      <td>12784.162065</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11042 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      WorkStationId WorkStationGrpId  DataYear  PeriodNo CropType  \\\n",
       "0             01001          0100101      2025         1     AR06   \n",
       "1             01001          0100103      2025         1     AR06   \n",
       "2             01001          0100104      2025         1     AR06   \n",
       "3             01001          0100105      2025         1     AR06   \n",
       "4             01001          0100106      2025         1     AR06   \n",
       "...             ...              ...       ...       ...      ...   \n",
       "11037         16000          1600010      2025         1     AR06   \n",
       "11038         16000          1600010      2025         2     AR06   \n",
       "11039         16000          1600012      2025         1     AR06   \n",
       "11040         16000          1600012      2025         2     AR06   \n",
       "11041         16000          1600014      2025         1     AR06   \n",
       "\n",
       "                Area  ChiananNormalDistrict  \n",
       "0      484977.719205                      0  \n",
       "1      838879.309128                      0  \n",
       "2        2176.787995                      0  \n",
       "3      591105.989396                      0  \n",
       "4      232180.216356                      0  \n",
       "...              ...                    ...  \n",
       "11037  167098.493037                      0  \n",
       "11038  129312.533291                      0  \n",
       "11039  163857.170950                      0  \n",
       "11040  163857.076999                      0  \n",
       "11041   12784.162065                      0  \n",
       "\n",
       "[11042 rows x 7 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stn_chianan = [\"11101\",\"11501\",\"11502\",\"11503\",\"11504\",\"11505\",\"11510\",\"11701\",\"11702\"]\n",
    "df_summary['ChiananNormalDistrict'] = df_summary['WorkStationId'].apply(lambda x: 1 if (x in stn_chianan) else 0)\n",
    "df_summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3aee39cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "#df_summary.to_excel(f'tbl_CropAreaData_History2025_{datetime.date.today().strftime('%Y%m%d')}.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e9123260",
   "metadata": {},
   "source": [
    "## 資料庫格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "05d2cef5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>WorkStationId</th>\n",
       "      <th>WorkStationGrpId</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>CropType</th>\n",
       "      <th>RealCropType</th>\n",
       "      <th>CalcArea</th>\n",
       "      <th>ChiananNormalDistrict</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100101</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>484977.719205</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100103</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>838879.309128</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100104</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>2176.787995</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100105</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>591105.989396</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>01001</td>\n",
       "      <td>0100106</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>232180.216356</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11037</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>167098.493037</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11038</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600010</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>129312.533291</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11039</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.170950</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11040</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600012</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>163857.076999</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11041</th>\n",
       "      <td>16000</td>\n",
       "      <td>1600014</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>TR</td>\n",
       "      <td>AR06</td>\n",
       "      <td>12784.162065</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>11042 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      WorkStationId WorkStationGrpId  DataYear  PeriodNo CropType  \\\n",
       "0             01001          0100101      2025         1       TR   \n",
       "1             01001          0100103      2025         1       TR   \n",
       "2             01001          0100104      2025         1       TR   \n",
       "3             01001          0100105      2025         1       TR   \n",
       "4             01001          0100106      2025         1       TR   \n",
       "...             ...              ...       ...       ...      ...   \n",
       "11037         16000          1600010      2025         1       TR   \n",
       "11038         16000          1600010      2025         2       TR   \n",
       "11039         16000          1600012      2025         1       TR   \n",
       "11040         16000          1600012      2025         2       TR   \n",
       "11041         16000          1600014      2025         1       TR   \n",
       "\n",
       "      RealCropType       CalcArea  ChiananNormalDistrict  \n",
       "0             AR06  484977.719205                      0  \n",
       "1             AR06  838879.309128                      0  \n",
       "2             AR06    2176.787995                      0  \n",
       "3             AR06  591105.989396                      0  \n",
       "4             AR06  232180.216356                      0  \n",
       "...            ...            ...                    ...  \n",
       "11037         AR06  167098.493037                      0  \n",
       "11038         AR06  129312.533291                      0  \n",
       "11039         AR06  163857.170950                      0  \n",
       "11040         AR06  163857.076999                      0  \n",
       "11041         AR06   12784.162065                      0  \n",
       "\n",
       "[11042 rows x 8 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_summary_SQL = df_summary.rename(columns={'CropType':'RealCropType', 'Area':'CalcArea'})\n",
    "df_summary_SQL['CropType'] = df_summary_SQL['RealCropType'].apply(lambda x: 'TR' if x == 'AR06' else 'TM')\n",
    "df_summary_SQL = df_summary_SQL[['WorkStationId','WorkStationGrpId','DataYear','PeriodNo','CropType','RealCropType','CalcArea','ChiananNormalDistrict']]\n",
    "df_summary_SQL"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9dd937de",
   "metadata": {},
   "outputs": [],
   "source": [
    "#df_summary_SQL.to_excel('tbl_CropAreaData_History2025_資料庫格式.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cca6f05d",
   "metadata": {},
   "source": [
    "### 匯入資料庫"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "1cd9d9da",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sqlalchemy import create_engine\n",
    "\n",
    "SERVER = 'labdb'\n",
    "DATABASE = 'A304_WRWSR'\n",
    "USERNAME = '<username>'\n",
    "PASSWORD = '<password>'\n",
    "\n",
    "engine = create_engine(\n",
    "    f\"mssql+pyodbc://@{SERVER}/{DATABASE}?driver=ODBC+Driver+17+for+SQL+Server&trusted_connection=yes\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "ffbfc9a3",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_summary_SQL['DataDate'] = datetime.datetime.now().strftime('%Y-%m-%d')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "4989c5c7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "91"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_summary_SQL.to_sql(\n",
    "    name='tbl_CropAreaData_History',\n",
    "    con=engine,\n",
    "    index=False,          # 等同 rownames=FALSE\n",
    "    if_exists='append'    # 等同 append=TRUE\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c851ce5f",
   "metadata": {},
   "source": [
    "# 以管理處統計"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "e69621d5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>IA</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>ChiananNormalDistrict</th>\n",
       "      <th>Area</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>01</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>10919.929181</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>02</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>68.166411</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>03</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>9223.722207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1055.978329</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>04</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3062.345771</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>04</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>921.468054</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>05</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2473.501630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>05</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2045.412497</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>06</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3147.870593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>06</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2132.731321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>07</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>10201.296152</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>07</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>7493.318440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>08</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3146.912366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>08</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>3149.539875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>09</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>21644.138841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>09</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>13797.869427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>10</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>20409.700141</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>10</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>9554.534600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>11</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>17425.570253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>11</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5210.514160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>11</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>6631.179751</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>11</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4664.195882</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>12</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3387.729844</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>12</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>163.314164</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>13</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3046.032451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>13</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>266.568294</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>14</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>5364.884350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>14</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5084.870747</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>15</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6424.955882</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>15</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5734.288477</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>16</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>202.034033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>16</td>\n",
       "      <td>2025</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>138.344075</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    IA  DataYear  PeriodNo  ChiananNormalDistrict          Area\n",
       "0   01      2025         1                      0  10919.929181\n",
       "1   02      2025         1                      0     68.166411\n",
       "2   03      2025         1                      0   9223.722207\n",
       "3   03      2025         2                      0   1055.978329\n",
       "4   04      2025         1                      0   3062.345771\n",
       "5   04      2025         2                      0    921.468054\n",
       "6   05      2025         1                      0   2473.501630\n",
       "7   05      2025         2                      0   2045.412497\n",
       "8   06      2025         1                      0   3147.870593\n",
       "9   06      2025         2                      0   2132.731321\n",
       "10  07      2025         1                      0  10201.296152\n",
       "11  07      2025         2                      0   7493.318440\n",
       "12  08      2025         1                      0   3146.912366\n",
       "13  08      2025         2                      0   3149.539875\n",
       "14  09      2025         1                      0  21644.138841\n",
       "15  09      2025         2                      0  13797.869427\n",
       "16  10      2025         1                      0  20409.700141\n",
       "17  10      2025         2                      0   9554.534600\n",
       "18  11      2025         1                      0  17425.570253\n",
       "19  11      2025         1                      1   5210.514160\n",
       "20  11      2025         2                      0   6631.179751\n",
       "21  11      2025         2                      1   4664.195882\n",
       "22  12      2025         1                      0   3387.729844\n",
       "23  12      2025         2                      0    163.314164\n",
       "24  13      2025         1                      0   3046.032451\n",
       "25  13      2025         2                      0    266.568294\n",
       "26  14      2025         1                      0   5364.884350\n",
       "27  14      2025         2                      0   5084.870747\n",
       "28  15      2025         1                      0   6424.955882\n",
       "29  15      2025         2                      0   5734.288477\n",
       "30  16      2025         1                      0    202.034033\n",
       "31  16      2025         2                      0    138.344075"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_summary['IA'] = df_summary['WorkStationId'].str[:2]\n",
    "df_summary_IA = df_summary[df_summary['CropType'] == 'AR06'].groupby(['IA','DataYear','PeriodNo','ChiananNormalDistrict'])['Area'].sum().reset_index()\n",
    "df_summary_IA['Area'] = df_summary_IA['Area']/10000\n",
    "\n",
    "df_summary_IA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "82fcfdc4",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\johnnychan\\AppData\\Local\\Temp\\ipykernel_5616\\452614714.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  d['normal Area'] = df_summary_IA[(df_summary_IA['IA']=='11') & (df_summary_IA['PeriodNo']==1) & (df_summary_IA['ChiananNormalDistrict']==1)]['Area'].to_list()\n",
      "C:\\Users\\johnnychan\\AppData\\Local\\Temp\\ipykernel_5616\\452614714.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  d['total Area'] = d['Area'] + d['normal Area']\n"
     ]
    },
    {
     "data": {
      "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>IA</th>\n",
       "      <th>DataYear</th>\n",
       "      <th>PeriodNo</th>\n",
       "      <th>ChiananNormalDistrict</th>\n",
       "      <th>Area</th>\n",
       "      <th>normal Area</th>\n",
       "      <th>total Area</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>11</td>\n",
       "      <td>2025</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>17425.570253</td>\n",
       "      <td>5210.51416</td>\n",
       "      <td>22636.084413</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    IA  DataYear  PeriodNo  ChiananNormalDistrict          Area  normal Area  \\\n",
       "18  11      2025         1                      0  17425.570253   5210.51416   \n",
       "\n",
       "      total Area  \n",
       "18  22636.084413  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d = df_summary_IA[(df_summary_IA['IA']=='11') & (df_summary_IA['PeriodNo']==1) & (df_summary_IA['ChiananNormalDistrict']==0)]\n",
    "d['normal Area'] = df_summary_IA[(df_summary_IA['IA']=='11') & (df_summary_IA['PeriodNo']==1) & (df_summary_IA['ChiananNormalDistrict']==1)]['Area'].to_list()\n",
    "d['total Area'] = d['Area'] + d['normal Area']\n",
    "d"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d1275748",
   "metadata": {},
   "source": [
    "# 以作物類別統計"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "27ad82b0",
   "metadata": {},
   "source": [
    "### 僅受益地"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "6cf9a1b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>作物編碼</th>\n",
       "      <th>作物類別</th>\n",
       "      <th>面積</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>AR01</td>\n",
       "      <td>大芥菜</td>\n",
       "      <td>589.772255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>AR02</td>\n",
       "      <td>小麥</td>\n",
       "      <td>192.665264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>AR03</td>\n",
       "      <td>山藥</td>\n",
       "      <td>16.142249</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>AR04</td>\n",
       "      <td>毛豆</td>\n",
       "      <td>6320.264662</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>AR05</td>\n",
       "      <td>水芋</td>\n",
       "      <td>1292.635272</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>AR06</td>\n",
       "      <td>水稻</td>\n",
       "      <td>188192.918198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>AR07</td>\n",
       "      <td>水蕹菜</td>\n",
       "      <td>476.873414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>AR08</td>\n",
       "      <td>牛蒡</td>\n",
       "      <td>39.108112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>AR10</td>\n",
       "      <td>玉米</td>\n",
       "      <td>15645.339168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>AR12</td>\n",
       "      <td>甘藷</td>\n",
       "      <td>3610.330469</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>AR13</td>\n",
       "      <td>甘藍</td>\n",
       "      <td>2316.912326</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>AR14</td>\n",
       "      <td>百香果</td>\n",
       "      <td>334.833191</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>AR15</td>\n",
       "      <td>西瓜</td>\n",
       "      <td>686.876532</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>AR16</td>\n",
       "      <td>龍鬚菜</td>\n",
       "      <td>128.901091</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>AR22</td>\n",
       "      <td>花椰菜</td>\n",
       "      <td>38.152194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>AR25</td>\n",
       "      <td>青花菜</td>\n",
       "      <td>210.134377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>AR26</td>\n",
       "      <td>洋蔥</td>\n",
       "      <td>664.593105</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>AR27</td>\n",
       "      <td>紅豆</td>\n",
       "      <td>1913.996833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>AR28</td>\n",
       "      <td>胡麻(芝麻)</td>\n",
       "      <td>317.753386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>AR29</td>\n",
       "      <td>胡蘿蔔</td>\n",
       "      <td>1160.988870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>AR33</td>\n",
       "      <td>茭白筍</td>\n",
       "      <td>616.388362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>AR35</td>\n",
       "      <td>草莓</td>\n",
       "      <td>23.854508</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>AR36</td>\n",
       "      <td>荖藤</td>\n",
       "      <td>515.277975</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>AR37</td>\n",
       "      <td>馬鈴薯</td>\n",
       "      <td>1921.810718</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>AR39</td>\n",
       "      <td>甜瓜</td>\n",
       "      <td>868.741048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>AR41</td>\n",
       "      <td>荷</td>\n",
       "      <td>361.833262</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>AR45</td>\n",
       "      <td>菱角</td>\n",
       "      <td>296.530002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>AR49</td>\n",
       "      <td>落花生</td>\n",
       "      <td>11895.151558</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>AR51</td>\n",
       "      <td>蒜</td>\n",
       "      <td>3950.259663</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>AR52</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>923.791801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>AR54</td>\n",
       "      <td>蔥</td>\n",
       "      <td>63.468879</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>AR56</td>\n",
       "      <td>蔥頭(紅蔥頭)</td>\n",
       "      <td>440.032601</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>AR58</td>\n",
       "      <td>蕎麥</td>\n",
       "      <td>100.048218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>AR59</td>\n",
       "      <td>薑</td>\n",
       "      <td>26.753046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>AR60</td>\n",
       "      <td>蘿蔔</td>\n",
       "      <td>296.436034</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    作物編碼     作物類別             面積\n",
       "0   AR01      大芥菜     589.772255\n",
       "1   AR02       小麥     192.665264\n",
       "2   AR03       山藥      16.142249\n",
       "3   AR04       毛豆    6320.264662\n",
       "4   AR05       水芋    1292.635272\n",
       "5   AR06       水稻  188192.918198\n",
       "6   AR07      水蕹菜     476.873414\n",
       "7   AR08       牛蒡      39.108112\n",
       "8   AR10       玉米   15645.339168\n",
       "9   AR12       甘藷    3610.330469\n",
       "10  AR13       甘藍    2316.912326\n",
       "11  AR14      百香果     334.833191\n",
       "12  AR15       西瓜     686.876532\n",
       "13  AR16      龍鬚菜     128.901091\n",
       "14  AR22      花椰菜      38.152194\n",
       "15  AR25      青花菜     210.134377\n",
       "16  AR26       洋蔥     664.593105\n",
       "17  AR27       紅豆    1913.996833\n",
       "18  AR28   胡麻(芝麻)     317.753386\n",
       "19  AR29      胡蘿蔔    1160.988870\n",
       "20  AR33      茭白筍     616.388362\n",
       "21  AR35       草莓      23.854508\n",
       "22  AR36       荖藤     515.277975\n",
       "23  AR37      馬鈴薯    1921.810718\n",
       "24  AR39       甜瓜     868.741048\n",
       "25  AR41        荷     361.833262\n",
       "26  AR45       菱角     296.530002\n",
       "27  AR49      落花生   11895.151558\n",
       "28  AR51        蒜    3950.259663\n",
       "29  AR52       鳳梨     923.791801\n",
       "30  AR54        蔥      63.468879\n",
       "31  AR56  蔥頭(紅蔥頭)     440.032601\n",
       "32  AR58       蕎麥     100.048218\n",
       "33  AR59        薑      26.753046\n",
       "34  AR60       蘿蔔     296.436034"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(df.groupby(['作物編碼','作物類別'])['面積'].sum()/10000).reset_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0392905f",
   "metadata": {},
   "source": [
    "### 全部圖資範圍"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b488c580",
   "metadata": {},
   "outputs": [],
   "source": [
    "df_all = pd.read_csv('農地土地覆蓋_2025.csv', \n",
    "                  usecols=['年份', '期作', '作物類別', '面積'],\n",
    "                  #dtype={'水利小': str}\n",
    "                  )\n",
    "\n",
    "df = df_all.merge(df_crop, on='作物類別', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "27cda698",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "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>作物編碼</th>\n",
       "      <th>作物類別</th>\n",
       "      <th>面積</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>AR06</td>\n",
       "      <td>水稻</td>\n",
       "      <td>233272.690649</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>AR10</td>\n",
       "      <td>玉米</td>\n",
       "      <td>20620.542762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>AR49</td>\n",
       "      <td>落花生</td>\n",
       "      <td>14444.869525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>AR04</td>\n",
       "      <td>毛豆</td>\n",
       "      <td>9370.340891</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>AR52</td>\n",
       "      <td>鳳梨</td>\n",
       "      <td>6706.458688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>AR13</td>\n",
       "      <td>甘藍</td>\n",
       "      <td>6384.751342</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>AR51</td>\n",
       "      <td>蒜</td>\n",
       "      <td>4889.779143</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>AR12</td>\n",
       "      <td>甘藷</td>\n",
       "      <td>4614.143444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>AR15</td>\n",
       "      <td>西瓜</td>\n",
       "      <td>4598.823583</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>AR27</td>\n",
       "      <td>紅豆</td>\n",
       "      <td>3930.407361</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>AR37</td>\n",
       "      <td>馬鈴薯</td>\n",
       "      <td>2788.673095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>AR05</td>\n",
       "      <td>水芋</td>\n",
       "      <td>1536.923627</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>AR29</td>\n",
       "      <td>胡蘿蔔</td>\n",
       "      <td>1517.486730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>AR39</td>\n",
       "      <td>甜瓜</td>\n",
       "      <td>1061.145025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>AR26</td>\n",
       "      <td>洋蔥</td>\n",
       "      <td>985.181931</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>AR33</td>\n",
       "      <td>茭白筍</td>\n",
       "      <td>756.817487</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>AR56</td>\n",
       "      <td>蔥頭(紅蔥頭)</td>\n",
       "      <td>688.477700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>AR01</td>\n",
       "      <td>大芥菜</td>\n",
       "      <td>681.304724</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>AR36</td>\n",
       "      <td>荖藤</td>\n",
       "      <td>657.034811</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>AR60</td>\n",
       "      <td>蘿蔔</td>\n",
       "      <td>573.444294</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>AR07</td>\n",
       "      <td>水蕹菜</td>\n",
       "      <td>532.988815</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>AR14</td>\n",
       "      <td>百香果</td>\n",
       "      <td>416.310510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>AR41</td>\n",
       "      <td>荷</td>\n",
       "      <td>410.487597</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>AR28</td>\n",
       "      <td>胡麻(芝麻)</td>\n",
       "      <td>367.850263</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>AR35</td>\n",
       "      <td>草莓</td>\n",
       "      <td>361.962592</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>AR59</td>\n",
       "      <td>薑</td>\n",
       "      <td>339.223733</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>AR45</td>\n",
       "      <td>菱角</td>\n",
       "      <td>335.653173</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>AR02</td>\n",
       "      <td>小麥</td>\n",
       "      <td>239.718723</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>AR25</td>\n",
       "      <td>青花菜</td>\n",
       "      <td>233.747140</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>AR24</td>\n",
       "      <td>金針菜</td>\n",
       "      <td>211.160165</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>AR22</td>\n",
       "      <td>花椰菜</td>\n",
       "      <td>164.178378</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>AR03</td>\n",
       "      <td>山藥</td>\n",
       "      <td>162.529088</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>AR16</td>\n",
       "      <td>龍鬚菜</td>\n",
       "      <td>148.786254</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>AR08</td>\n",
       "      <td>牛蒡</td>\n",
       "      <td>116.053533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>AR58</td>\n",
       "      <td>蕎麥</td>\n",
       "      <td>104.839222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>AR30</td>\n",
       "      <td>苦瓜</td>\n",
       "      <td>83.294255</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>AR54</td>\n",
       "      <td>蔥</td>\n",
       "      <td>68.570467</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    作物編碼     作物類別             面積\n",
       "5   AR06       水稻  233272.690649\n",
       "8   AR10       玉米   20620.542762\n",
       "29  AR49      落花生   14444.869525\n",
       "3   AR04       毛豆    9370.340891\n",
       "31  AR52       鳳梨    6706.458688\n",
       "10  AR13       甘藍    6384.751342\n",
       "30  AR51        蒜    4889.779143\n",
       "9   AR12       甘藷    4614.143444\n",
       "12  AR15       西瓜    4598.823583\n",
       "18  AR27       紅豆    3930.407361\n",
       "25  AR37      馬鈴薯    2788.673095\n",
       "4   AR05       水芋    1536.923627\n",
       "20  AR29      胡蘿蔔    1517.486730\n",
       "26  AR39       甜瓜    1061.145025\n",
       "17  AR26       洋蔥     985.181931\n",
       "22  AR33      茭白筍     756.817487\n",
       "33  AR56  蔥頭(紅蔥頭)     688.477700\n",
       "0   AR01      大芥菜     681.304724\n",
       "24  AR36       荖藤     657.034811\n",
       "36  AR60       蘿蔔     573.444294\n",
       "6   AR07      水蕹菜     532.988815\n",
       "11  AR14      百香果     416.310510\n",
       "27  AR41        荷     410.487597\n",
       "19  AR28   胡麻(芝麻)     367.850263\n",
       "23  AR35       草莓     361.962592\n",
       "35  AR59        薑     339.223733\n",
       "28  AR45       菱角     335.653173\n",
       "1   AR02       小麥     239.718723\n",
       "16  AR25      青花菜     233.747140\n",
       "15  AR24      金針菜     211.160165\n",
       "14  AR22      花椰菜     164.178378\n",
       "2   AR03       山藥     162.529088\n",
       "13  AR16      龍鬚菜     148.786254\n",
       "7   AR08       牛蒡     116.053533\n",
       "34  AR58       蕎麥     104.839222\n",
       "21  AR30       苦瓜      83.294255\n",
       "32  AR54        蔥      68.570467"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(df_all.groupby(['作物編碼','作物類別'])['面積'].sum()/10000).reset_index().sort_values(by=['面積'], ascending=[False])"
   ]
  }
 ],
 "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.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
