diff --git a/problem1.ipynb b/problem1.ipynb
new file mode 100644
index 0000000..64e15ce
--- /dev/null
+++ b/problem1.ipynb
@@ -0,0 +1,1065 @@
+{
+ "cells": [
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:13.583685Z",
+ "start_time": "2024-09-07T06:13:13.566683Z"
+ }
+ },
+ "cell_type": "code",
+ "source": "import pandas as pd",
+ "id": "e19ec4ae5347c678",
+ "outputs": [],
+ "execution_count": 50
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:13.973538Z",
+ "start_time": "2024-09-07T06:13:13.906Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "\n",
+ "df_crop_details = pd.read_excel('./data/2.xlsx', sheet_name=1)"
+ ],
+ "id": "initial_id",
+ "outputs": [],
+ "execution_count": 51
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:18:12.104380Z",
+ "start_time": "2024-09-07T06:18:12.095949Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 去除空格\n",
+ "df_crop_details['cropName'] = df_crop_details['cropName'].apply(lambda x: x.strip())\n",
+ "# CropType = [x.strip() for x in CropType]\n"
+ ],
+ "id": "1d2a51b3414be94",
+ "outputs": [],
+ "execution_count": 62
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:18:14.180992Z",
+ "start_time": "2024-09-07T06:18:14.146973Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "\n",
+ "unit_profit = []\n",
+ "for line in df_crop_details.values:\n",
+ " s = str(line[7]).split('-')\n",
+ " unit_profit.append((float(s[0]) + float(s[1])) / 2 * line[5] - line[6])\n",
+ "df_crop_details['unitProfit'] = unit_profit\n",
+ "df_crop_details"
+ ],
+ "id": "3cdf51a9a9d4d30f",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ " no cropNum cropName cropLandType season unitYield cost price \\\n",
+ "0 1 1 黄豆 平旱地 单季 400 400 2.50-4.00 \n",
+ "1 2 2 黑豆 平旱地 单季 500 400 6.50-8.50 \n",
+ "2 3 3 红豆 平旱地 单季 400 350 7.50-9.00 \n",
+ "3 4 4 绿豆 平旱地 单季 350 350 6.00-8.00 \n",
+ "4 5 5 爬豆 平旱地 单季 415 350 6.00-7.50 \n",
+ ".. ... ... ... ... ... ... ... ... \n",
+ "120 103 30 生菜 智慧大棚 第二季 4500 2200 5.40-7.20 \n",
+ "121 104 31 辣椒 智慧大棚 第二季 1800 1300 7.20-10.20 \n",
+ "122 105 32 空心菜 智慧大棚 第二季 11000 5500 3.60-7.20 \n",
+ "123 106 33 黄心菜 智慧大棚 第二季 5400 2750 4.80-6.00 \n",
+ "124 107 34 芹菜 智慧大棚 第二季 6000 1200 3.80-5.80 \n",
+ "\n",
+ " unitProfit \n",
+ "0 900.00 \n",
+ "1 3350.00 \n",
+ "2 2950.00 \n",
+ "3 2100.00 \n",
+ "4 2451.25 \n",
+ ".. ... \n",
+ "120 26150.00 \n",
+ "121 14360.00 \n",
+ "122 53900.00 \n",
+ "123 26410.00 \n",
+ "124 27600.00 \n",
+ "\n",
+ "[125 rows x 9 columns]"
+ ],
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " no | \n",
+ " cropNum | \n",
+ " cropName | \n",
+ " cropLandType | \n",
+ " season | \n",
+ " unitYield | \n",
+ " cost | \n",
+ " price | \n",
+ " unitProfit | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 黄豆 | \n",
+ " 平旱地 | \n",
+ " 单季 | \n",
+ " 400 | \n",
+ " 400 | \n",
+ " 2.50-4.00 | \n",
+ " 900.00 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 黑豆 | \n",
+ " 平旱地 | \n",
+ " 单季 | \n",
+ " 500 | \n",
+ " 400 | \n",
+ " 6.50-8.50 | \n",
+ " 3350.00 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 红豆 | \n",
+ " 平旱地 | \n",
+ " 单季 | \n",
+ " 400 | \n",
+ " 350 | \n",
+ " 7.50-9.00 | \n",
+ " 2950.00 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 绿豆 | \n",
+ " 平旱地 | \n",
+ " 单季 | \n",
+ " 350 | \n",
+ " 350 | \n",
+ " 6.00-8.00 | \n",
+ " 2100.00 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 爬豆 | \n",
+ " 平旱地 | \n",
+ " 单季 | \n",
+ " 415 | \n",
+ " 350 | \n",
+ " 6.00-7.50 | \n",
+ " 2451.25 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 120 | \n",
+ " 103 | \n",
+ " 30 | \n",
+ " 生菜 | \n",
+ " 智慧大棚 | \n",
+ " 第二季 | \n",
+ " 4500 | \n",
+ " 2200 | \n",
+ " 5.40-7.20 | \n",
+ " 26150.00 | \n",
+ "
\n",
+ " \n",
+ " | 121 | \n",
+ " 104 | \n",
+ " 31 | \n",
+ " 辣椒 | \n",
+ " 智慧大棚 | \n",
+ " 第二季 | \n",
+ " 1800 | \n",
+ " 1300 | \n",
+ " 7.20-10.20 | \n",
+ " 14360.00 | \n",
+ "
\n",
+ " \n",
+ " | 122 | \n",
+ " 105 | \n",
+ " 32 | \n",
+ " 空心菜 | \n",
+ " 智慧大棚 | \n",
+ " 第二季 | \n",
+ " 11000 | \n",
+ " 5500 | \n",
+ " 3.60-7.20 | \n",
+ " 53900.00 | \n",
+ "
\n",
+ " \n",
+ " | 123 | \n",
+ " 106 | \n",
+ " 33 | \n",
+ " 黄心菜 | \n",
+ " 智慧大棚 | \n",
+ " 第二季 | \n",
+ " 5400 | \n",
+ " 2750 | \n",
+ " 4.80-6.00 | \n",
+ " 26410.00 | \n",
+ "
\n",
+ " \n",
+ " | 124 | \n",
+ " 107 | \n",
+ " 34 | \n",
+ " 芹菜 | \n",
+ " 智慧大棚 | \n",
+ " 第二季 | \n",
+ " 6000 | \n",
+ " 1200 | \n",
+ " 3.80-5.80 | \n",
+ " 27600.00 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
125 rows × 9 columns
\n",
+ "
"
+ ]
+ },
+ "execution_count": 63,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 63
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:15.178785Z",
+ "start_time": "2024-09-07T06:13:15.170785Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 枚举地块类型\n",
+ "LandType = {\"A\": \"平旱地\", \"B\": \"梯田\", \"C\": \"山坡地\", \"D\": \"水浇地\", \"E\": \"普通大棚\", \"F\": \"智慧大棚\"}\n",
+ "LandType"
+ ],
+ "id": "4a4e06a1f2d4d8ab",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'A': '平旱地', 'B': '梯田', 'C': '山坡地', 'D': '水浇地', 'E': '普通大棚', 'F': '智慧大棚'}"
+ ]
+ },
+ "execution_count": 54,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 54
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:15.901386Z",
+ "start_time": "2024-09-07T06:13:15.885383Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 读入作物名称\n",
+ "CropName = df_crop_details['cropName'].unique()\n",
+ "CropName"
+ ],
+ "id": "7a0e6cc209d93b56",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['黄豆', '黑豆', '红豆', '绿豆', '爬豆', '小麦', '玉米', '谷子', '高粱', '黍子', '荞麦',\n",
+ " '南瓜', '红薯', '莜麦', '大麦', '水稻', '豇豆', '刀豆', '芸豆', '土豆', '西红柿', '茄子',\n",
+ " '菠菜', '青椒', '菜花', '包菜', '油麦菜', '小青菜', '黄瓜', '生菜', '辣椒', '空心菜',\n",
+ " '黄心菜', '芹菜', '大白菜', '白萝卜', '红萝卜', '榆黄菇', '香菇', '白灵菇', '羊肚菌'],\n",
+ " dtype=object)"
+ ]
+ },
+ "execution_count": 55,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 55
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:16.699865Z",
+ "start_time": "2024-09-07T06:13:16.681863Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "any([x[-1] == ' ' for x in CropName])\n",
+ "# 居然有空格\n",
+ "# 现在去掉了"
+ ],
+ "id": "bf6d61d66f06bdeb",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "False"
+ ]
+ },
+ "execution_count": 56,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 56
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:17.516868Z",
+ "start_time": "2024-09-07T06:13:17.369055Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 亩产量\n",
+ "unit_yield = {\n",
+ " l: {\n",
+ " c: df_crop_details[\n",
+ " (df_crop_details['cropName'] == c) &\n",
+ " (df_crop_details['cropLandType'] == l)\n",
+ " ]['unitYield'].values[0] if df_crop_details[\n",
+ " (df_crop_details['cropName'] == c) &\n",
+ " (df_crop_details['cropLandType'] == l)\n",
+ " ]['unitYield'].values.size > 0 else 0\n",
+ " for c in CropName\n",
+ " }\n",
+ " for l in LandType.values()\n",
+ "}\n",
+ "\n",
+ "unit_yield"
+ ],
+ "id": "22f9730e3d9c1016",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'平旱地': {'黄豆': 400,\n",
+ " '黑豆': 500,\n",
+ " '红豆': 400,\n",
+ " '绿豆': 350,\n",
+ " '爬豆': 415,\n",
+ " '小麦': 800,\n",
+ " '玉米': 1000,\n",
+ " '谷子': 400,\n",
+ " '高粱': 630,\n",
+ " '黍子': 525,\n",
+ " '荞麦': 110,\n",
+ " '南瓜': 3000,\n",
+ " '红薯': 2200,\n",
+ " '莜麦': 420,\n",
+ " '大麦': 525,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '梯田': {'黄豆': 380,\n",
+ " '黑豆': 475,\n",
+ " '红豆': 380,\n",
+ " '绿豆': 330,\n",
+ " '爬豆': 395,\n",
+ " '小麦': 760,\n",
+ " '玉米': 950,\n",
+ " '谷子': 380,\n",
+ " '高粱': 600,\n",
+ " '黍子': 500,\n",
+ " '荞麦': 105,\n",
+ " '南瓜': 2850,\n",
+ " '红薯': 2100,\n",
+ " '莜麦': 400,\n",
+ " '大麦': 500,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '山坡地': {'黄豆': 360,\n",
+ " '黑豆': 450,\n",
+ " '红豆': 360,\n",
+ " '绿豆': 315,\n",
+ " '爬豆': 375,\n",
+ " '小麦': 720,\n",
+ " '玉米': 900,\n",
+ " '谷子': 360,\n",
+ " '高粱': 570,\n",
+ " '黍子': 475,\n",
+ " '荞麦': 100,\n",
+ " '南瓜': 2700,\n",
+ " '红薯': 2000,\n",
+ " '莜麦': 380,\n",
+ " '大麦': 475,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '水浇地': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 500,\n",
+ " '豇豆': 3000,\n",
+ " '刀豆': 2000,\n",
+ " '芸豆': 3000,\n",
+ " '土豆': 2000,\n",
+ " '西红柿': 2400,\n",
+ " '茄子': 6400,\n",
+ " '菠菜': 2700,\n",
+ " '青椒': 2400,\n",
+ " '菜花': 3300,\n",
+ " '包菜': 3700,\n",
+ " '油麦菜': 4100,\n",
+ " '小青菜': 3200,\n",
+ " '黄瓜': 12000,\n",
+ " '生菜': 4100,\n",
+ " '辣椒': 1600,\n",
+ " '空心菜': 10000,\n",
+ " '黄心菜': 5000,\n",
+ " '芹菜': 5500,\n",
+ " '大白菜': 5000,\n",
+ " '白萝卜': 4000,\n",
+ " '红萝卜': 3000,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '普通大棚': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 3600,\n",
+ " '刀豆': 2400,\n",
+ " '芸豆': 3600,\n",
+ " '土豆': 2400,\n",
+ " '西红柿': 3000,\n",
+ " '茄子': 8000,\n",
+ " '菠菜': 3300,\n",
+ " '青椒': 3000,\n",
+ " '菜花': 4000,\n",
+ " '包菜': 4500,\n",
+ " '油麦菜': 5000,\n",
+ " '小青菜': 4000,\n",
+ " '黄瓜': 15000,\n",
+ " '生菜': 5000,\n",
+ " '辣椒': 2000,\n",
+ " '空心菜': 12000,\n",
+ " '黄心菜': 6000,\n",
+ " '芹菜': 6600,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 5000,\n",
+ " '香菇': 4000,\n",
+ " '白灵菇': 10000,\n",
+ " '羊肚菌': 1000},\n",
+ " '智慧大棚': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 3600,\n",
+ " '刀豆': 2400,\n",
+ " '芸豆': 3600,\n",
+ " '土豆': 2400,\n",
+ " '西红柿': 3000,\n",
+ " '茄子': 8000,\n",
+ " '菠菜': 3300,\n",
+ " '青椒': 3000,\n",
+ " '菜花': 4000,\n",
+ " '包菜': 4500,\n",
+ " '油麦菜': 5000,\n",
+ " '小青菜': 4000,\n",
+ " '黄瓜': 15000,\n",
+ " '生菜': 5000,\n",
+ " '辣椒': 2000,\n",
+ " '空心菜': 12000,\n",
+ " '黄心菜': 6000,\n",
+ " '芹菜': 6600,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0}}"
+ ]
+ },
+ "execution_count": 57,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 57
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:13:18.373009Z",
+ "start_time": "2024-09-07T06:13:18.236981Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 亩利润\n",
+ "unit_profit = {\n",
+ " l: {\n",
+ " c: df_crop_details[\n",
+ " (df_crop_details['cropName'] == c) &\n",
+ " (df_crop_details['cropLandType'] == l)\n",
+ " ]['unitProfit'].values[0]\n",
+ " if df_crop_details[\n",
+ " (df_crop_details['cropName'] == c) &\n",
+ " (df_crop_details['cropLandType'] == l)\n",
+ " ]['unitYield'].values.size > 0 else 0\n",
+ " for c in CropName\n",
+ " }\n",
+ " for l in LandType.values()\n",
+ "}\n",
+ "\n",
+ "unit_profit"
+ ],
+ "id": "99dbe4ca6c54db0b",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'平旱地': {'黄豆': 900.0,\n",
+ " '黑豆': 3350.0,\n",
+ " '红豆': 2950.0,\n",
+ " '绿豆': 2100.0,\n",
+ " '爬豆': 2451.25,\n",
+ " '小麦': 2350.0,\n",
+ " '玉米': 2500.0,\n",
+ " '谷子': 2340.0,\n",
+ " '高粱': 3380.0,\n",
+ " '黍子': 3577.5,\n",
+ " '荞麦': 4050.0,\n",
+ " '南瓜': 3500.0,\n",
+ " '红薯': 5150.0,\n",
+ " '莜麦': 1910.0,\n",
+ " '大麦': 1487.5,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '梯田': {'黄豆': 835.0,\n",
+ " '黑豆': 3162.5,\n",
+ " '红豆': 2785.0,\n",
+ " '绿豆': 1960.0,\n",
+ " '爬豆': 2316.25,\n",
+ " '小麦': 2210.0,\n",
+ " '玉米': 2350.0,\n",
+ " '谷子': 2205.0,\n",
+ " '高粱': 3200.0,\n",
+ " '黍子': 3390.0,\n",
+ " '荞麦': 3850.0,\n",
+ " '南瓜': 3275.0,\n",
+ " '红薯': 4825.0,\n",
+ " '莜麦': 1800.0,\n",
+ " '大麦': 1400.0,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '山坡地': {'黄豆': 770.0,\n",
+ " '黑豆': 2975.0,\n",
+ " '红豆': 2620.0,\n",
+ " '绿豆': 1855.0,\n",
+ " '爬豆': 2181.25,\n",
+ " '小麦': 2070.0,\n",
+ " '玉米': 2200.0,\n",
+ " '谷子': 2070.0,\n",
+ " '高粱': 3020.0,\n",
+ " '黍子': 3202.5,\n",
+ " '荞麦': 3650.0,\n",
+ " '南瓜': 3050.0,\n",
+ " '红薯': 4500.0,\n",
+ " '莜麦': 1690.0,\n",
+ " '大麦': 1312.5,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 0,\n",
+ " '刀豆': 0,\n",
+ " '芸豆': 0,\n",
+ " '土豆': 0,\n",
+ " '西红柿': 0,\n",
+ " '茄子': 0,\n",
+ " '菠菜': 0,\n",
+ " '青椒': 0,\n",
+ " '菜花': 0,\n",
+ " '包菜': 0,\n",
+ " '油麦菜': 0,\n",
+ " '小青菜': 0,\n",
+ " '黄瓜': 0,\n",
+ " '生菜': 0,\n",
+ " '辣椒': 0,\n",
+ " '空心菜': 0,\n",
+ " '黄心菜': 0,\n",
+ " '芹菜': 0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '水浇地': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 2820.0,\n",
+ " '豇豆': 22000.0,\n",
+ " '刀豆': 12500.0,\n",
+ " '芸豆': 17500.0,\n",
+ " '土豆': 5500.0,\n",
+ " '西红柿': 13000.0,\n",
+ " '茄子': 33200.0,\n",
+ " '菠菜': 13225.0,\n",
+ " '青椒': 11000.0,\n",
+ " '菜花': 15750.0,\n",
+ " '包菜': 21150.0,\n",
+ " '油麦菜': 18900.0,\n",
+ " '小青菜': 16800.0,\n",
+ " '黄瓜': 81100.0,\n",
+ " '生菜': 19925.0,\n",
+ " '辣椒': 10600.0,\n",
+ " '空心菜': 40900.0,\n",
+ " '黄心菜': 20500.0,\n",
+ " '芹菜': 21100.0,\n",
+ " '大白菜': 10500.0,\n",
+ " '白萝卜': 9500.0,\n",
+ " '红萝卜': 9250.0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0},\n",
+ " '普通大棚': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 26400.0,\n",
+ " '刀豆': 15000.0,\n",
+ " '芸豆': 21000.0,\n",
+ " '土豆': 6600.0,\n",
+ " '西红柿': 16350.0,\n",
+ " '茄子': 41600.0,\n",
+ " '菠菜': 16275.0,\n",
+ " '青椒': 13750.0,\n",
+ " '菜花': 19000.0,\n",
+ " '包菜': 25750.0,\n",
+ " '油麦菜': 23000.0,\n",
+ " '小青菜': 21000.0,\n",
+ " '黄瓜': 101500.0,\n",
+ " '生菜': 24250.0,\n",
+ " '辣椒': 13300.0,\n",
+ " '空心菜': 49000.0,\n",
+ " '黄心菜': 24500.0,\n",
+ " '芹菜': 25300.0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 284500.0,\n",
+ " '香菇': 74000.0,\n",
+ " '白灵菇': 150000.0,\n",
+ " '羊肚菌': 90000.0},\n",
+ " '智慧大棚': {'黄豆': 0,\n",
+ " '黑豆': 0,\n",
+ " '红豆': 0,\n",
+ " '绿豆': 0,\n",
+ " '爬豆': 0,\n",
+ " '小麦': 0,\n",
+ " '玉米': 0,\n",
+ " '谷子': 0,\n",
+ " '高粱': 0,\n",
+ " '黍子': 0,\n",
+ " '荞麦': 0,\n",
+ " '南瓜': 0,\n",
+ " '红薯': 0,\n",
+ " '莜麦': 0,\n",
+ " '大麦': 0,\n",
+ " '水稻': 0,\n",
+ " '豇豆': 26400.0,\n",
+ " '刀豆': 15000.0,\n",
+ " '芸豆': 21000.0,\n",
+ " '土豆': 6600.0,\n",
+ " '西红柿': 16350.0,\n",
+ " '茄子': 41600.0,\n",
+ " '菠菜': 16275.0,\n",
+ " '青椒': 13750.0,\n",
+ " '菜花': 19000.0,\n",
+ " '包菜': 25750.0,\n",
+ " '油麦菜': 23000.0,\n",
+ " '小青菜': 21000.0,\n",
+ " '黄瓜': 101500.0,\n",
+ " '生菜': 24250.0,\n",
+ " '辣椒': 13300.0,\n",
+ " '空心菜': 49000.0,\n",
+ " '黄心菜': 24500.0,\n",
+ " '芹菜': 25300.0,\n",
+ " '大白菜': 0,\n",
+ " '白萝卜': 0,\n",
+ " '红萝卜': 0,\n",
+ " '榆黄菇': 0,\n",
+ " '香菇': 0,\n",
+ " '白灵菇': 0,\n",
+ " '羊肚菌': 0}}"
+ ]
+ },
+ "execution_count": 58,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 58
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:19:55.362587Z",
+ "start_time": "2024-09-07T06:19:55.203621Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 每种作物的总需求\n",
+ "crop_demand = {\n",
+ " c: 0\n",
+ " for c in CropName\n",
+ "}\n",
+ "\n",
+ "# 这里需要另一张表\n",
+ "df_crop_planting = pd.read_excel('./data/2.xlsx', sheet_name=0)\n",
+ "# 照例去除一下空格\n",
+ "df_crop_planting['cropName'] = df_crop_planting['cropName'].apply(lambda x: x.strip())\n",
+ "# ffill\n",
+ "df_crop_planting['landName'] = df_crop_planting['landName'].ffill()\n",
+ "for line in df_crop_planting.values:\n",
+ " # 面积*该土地类型的亩产量\n",
+ " crop_demand[line[2]] += line[4] * unit_yield[LandType[line[0][0]]][line[2]]\n",
+ "\n",
+ "crop_demand"
+ ],
+ "id": "13f2ccc7aa215d4c",
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'黄豆': 57000.0,\n",
+ " '黑豆': 21850.0,\n",
+ " '红豆': 22400.0,\n",
+ " '绿豆': 33040.0,\n",
+ " '爬豆': 9875.0,\n",
+ " '小麦': 170840.0,\n",
+ " '玉米': 132750.0,\n",
+ " '谷子': 71400.0,\n",
+ " '高粱': 30000.0,\n",
+ " '黍子': 12500.0,\n",
+ " '荞麦': 1500.0,\n",
+ " '南瓜': 35100.0,\n",
+ " '红薯': 36000.0,\n",
+ " '莜麦': 14000.0,\n",
+ " '大麦': 10000.0,\n",
+ " '水稻': 21000.0,\n",
+ " '豇豆': 36480.0,\n",
+ " '刀豆': 26880.0,\n",
+ " '芸豆': 6480.0,\n",
+ " '土豆': 30000.0,\n",
+ " '西红柿': 36300.0,\n",
+ " '茄子': 45600.0,\n",
+ " '菠菜': 990.0,\n",
+ " '青椒': 2700.0,\n",
+ " '菜花': 3600.0,\n",
+ " '包菜': 4050.0,\n",
+ " '油麦菜': 4500.0,\n",
+ " '小青菜': 35600.0,\n",
+ " '黄瓜': 13500.0,\n",
+ " '生菜': 3000.0,\n",
+ " '辣椒': 1200.0,\n",
+ " '空心菜': 3600.0,\n",
+ " '黄心菜': 1800.0,\n",
+ " '芹菜': 1980.0,\n",
+ " '大白菜': 150000.0,\n",
+ " '白萝卜': 100000.0,\n",
+ " '红萝卜': 36000.0,\n",
+ " '榆黄菇': 9000.0,\n",
+ " '香菇': 7200.0,\n",
+ " '白灵菇': 18000.0,\n",
+ " '羊肚菌': 4200.0}"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "execution_count": 67
+ },
+ {
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2024-09-07T06:21:14.398778Z",
+ "start_time": "2024-09-07T06:21:14.391229Z"
+ }
+ },
+ "cell_type": "code",
+ "source": [
+ "# 搞一下季节和年份的集合\n",
+ "seasons = [1, 2]\n",
+ "years = [2024, 2025, 2026, 2027, 2028, 2029, 2030]"
+ ],
+ "id": "a7661d84217b578c",
+ "outputs": [],
+ "execution_count": 68
+ },
+ {
+ "metadata": {},
+ "cell_type": "code",
+ "outputs": [],
+ "execution_count": null,
+ "source": "",
+ "id": "5d09872708d40da4"
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}