From e67cfcac7b8e63df62b7155c50f167736a127cfb Mon Sep 17 00:00:00 2001 From: heshunme Date: Fri, 6 Sep 2024 15:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8D=89=E7=A8=BF=E7=BA=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- draft.ipynb | 1055 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1055 insertions(+) create mode 100644 draft.ipynb diff --git a/draft.ipynb b/draft.ipynb new file mode 100644 index 0000000..0cc7d96 --- /dev/null +++ b/draft.ipynb @@ -0,0 +1,1055 @@ +{ + "cells": [ + { + "cell_type": "code", + "id": "initial_id", + "metadata": { + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-09-06T03:13:02.862304Z", + "start_time": "2024-09-06T03:13:02.701439Z" + } + }, + "source": [ + "import pandas as pd\n", + "\n", + "\n", + "# 读取数据\n", + "def read_data():\n", + " df_land = pd.read_excel('./data/1.xlsx', sheet_name=0)\n", + " df_crop_land = pd.read_excel('./data/1.xlsx', sheet_name=1)\n", + " df_planting = pd.read_excel('./data/2.xlsx', sheet_name=0)\n", + " df_crop_details = pd.read_excel('./data/2.xlsx', sheet_name=1)\n", + " return df_land, df_crop_land, df_planting, df_crop_details\n", + "\n", + "\n", + "# 数据预处理\n", + "def preprocess_data(df_land, df_crop_land, df_planting, df_crop_details):\n", + " # 合并地块信息和种植信息\n", + " df_merged = pd.merge(df_land, df_planting, left_on='地块名称', right_on='种植地块')\n", + "\n", + " # 合并作物信息和地块类型信息\n", + " df_crop_details['销售单价中间值'] = df_crop_details['销售单价/(元/斤)'].apply(\n", + " lambda x: (x.split('-')[0] + x.split('-')[1]) / 2)\n", + " df_final = pd.merge(df_merged, df_crop_details, on=['作物编号', '作物名称', '地块类型', '种植季次'])\n", + "\n", + " return df_final\n", + "\n", + "\n", + "# 计算总产量和总销售收入\n", + "def calculate_stats(df_final):\n", + " df_final['总产量'] = df_final['亩产量/斤'] * df_final['种植面积/亩']\n", + " df_final['总销售收入'] = df_final['总产量'] * df_final['销售单价中间值']\n", + "\n", + " # 按地块类型和作物名称分组统计\n", + " df_grouped = df_final.groupby(['地块类型', '作物名称']).agg({'总产量': 'sum', '总销售收入': 'sum'}).reset_index()\n", + "\n", + " # 按作物名称统计\n", + " df_crop_stats = df_final.groupby('作物名称').agg({'总产量': 'sum', '总销售收入': 'sum'}).reset_index()\n", + "\n", + " return df_grouped, df_crop_stats\n", + "\n", + "\n", + "df_land, df_crop_land, df_planting, df_crop_details = read_data()\n", + "print(read_data())" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "( landName landType landArea\n", + "0 A1 平旱地 80.0\n", + "1 A2 平旱地 55.0\n", + "2 A3 平旱地 35.0\n", + "3 A4 平旱地 72.0\n", + "4 A5 平旱地 68.0\n", + "5 A6 平旱地 55.0\n", + "6 B1 梯田 60.0\n", + "7 B2 梯田 46.0\n", + "8 B3 梯田 40.0\n", + "9 B4 梯田 28.0\n", + "10 B5 梯田 25.0\n", + "11 B6 梯田 86.0\n", + "12 B7 梯田 55.0\n", + "13 B8 梯田 44.0\n", + "14 B9 梯田 50.0\n", + "15 B10 梯田 25.0\n", + "16 B11 梯田 60.0\n", + "17 B12 梯田 45.0\n", + "18 B13 梯田 35.0\n", + "19 B14 梯田 20.0\n", + "20 C1 山坡地 15.0\n", + "21 C2 山坡地 13.0\n", + "22 C3 山坡地 15.0\n", + "23 C4 山坡地 18.0\n", + "24 C5 山坡地 27.0\n", + "25 C6 山坡地 20.0\n", + "26 D1 水浇地 15.0\n", + "27 D2 水浇地 10.0\n", + "28 D3 水浇地 14.0\n", + "29 D4 水浇地 6.0\n", + "30 D5 水浇地 10.0\n", + "31 D6 水浇地 12.0\n", + "32 D7 水浇地 22.0\n", + "33 D8 水浇地 20.0\n", + "34 E1 普通大棚 0.6\n", + "35 E2 普通大棚 0.6\n", + "36 E3 普通大棚 0.6\n", + "37 E4 普通大棚 0.6\n", + "38 E5 普通大棚 0.6\n", + "39 E6 普通大棚 0.6\n", + "40 E7 普通大棚 0.6\n", + "41 E8 普通大棚 0.6\n", + "42 E9 普通大棚 0.6\n", + "43 E10 普通大棚 0.6\n", + "44 E11 普通大棚 0.6\n", + "45 E12 普通大棚 0.6\n", + "46 E13 普通大棚 0.6\n", + "47 E14 普通大棚 0.6\n", + "48 E15 普通大棚 0.6\n", + "49 E16 普通大棚 0.6\n", + "50 F1 智慧大棚 0.6\n", + "51 F2 智慧大棚 0.6\n", + "52 F3 智慧大棚 0.6\n", + "53 F4 智慧大棚 0.6, cropNum cropName cropType cropLandType\n", + "0 1 黄豆 粮食(豆类) 平旱地 梯田 山坡地\n", + "1 2 黑豆 粮食(豆类) 平旱地 梯田 山坡地\n", + "2 3 红豆 粮食(豆类) 平旱地 梯田 山坡地\n", + "3 4 绿豆 粮食(豆类) 平旱地 梯田 山坡地\n", + "4 5 爬豆 粮食(豆类) 平旱地 梯田 山坡地\n", + "5 6 小麦 粮食 平旱地 梯田 山坡地\n", + "6 7 玉米 粮食 平旱地 梯田 山坡地\n", + "7 8 谷子 粮食 平旱地 梯田 山坡地\n", + "8 9 高粱 粮食 平旱地 梯田 山坡地\n", + "9 10 黍子 粮食 平旱地 梯田 山坡地\n", + "10 11 荞麦 粮食 平旱地 梯田 山坡地\n", + "11 12 南瓜 粮食 平旱地 梯田 山坡地\n", + "12 13 红薯 粮食 平旱地 梯田 山坡地\n", + "13 14 莜麦 粮食 平旱地 梯田 山坡地\n", + "14 15 大麦 粮食 平旱地 梯田 山坡地\n", + "15 16 水稻 粮食 水浇地第一季 水浇地第二季\n", + "16 17 豇豆 蔬菜(豆类) 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "17 18 刀豆 蔬菜(豆类) 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "18 19 芸豆 蔬菜(豆类) 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "19 20 土豆 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "20 21 西红柿 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "21 22 茄子 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "22 23 菠菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "23 24 青椒 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "24 25 菜花 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "25 26 包菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "26 27 油麦菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "27 28 小青菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "28 29 黄瓜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "29 30 生菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "30 31 辣椒 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "31 32 空心菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "32 33 黄心菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "33 34 芹菜 蔬菜 水浇地第一季 普通大棚第一季 智慧大棚第一季 智慧大棚第二季\n", + "34 35 大白菜 蔬菜 水浇地第二季\n", + "35 36 白萝卜 蔬菜 水浇地第二季\n", + "36 37 红萝卜 蔬菜 水浇地第二季\n", + "37 38 榆黄菇 食用菌 普通大棚第二季\n", + "38 39 香菇 食用菌 普通大棚第二季\n", + "39 40 白灵菇 食用菌 普通大棚第二季\n", + "40 41 羊肚菌 食用菌 普通大棚第二季, landName cropNum cropName cropType plantArea season\n", + "0 A1 6 小麦 粮食 80.0 单季\n", + "1 A2 7 玉米 粮食 55.0 单季\n", + "2 A3 7 玉米 粮食 35.0 单季\n", + "3 A4 1 黄豆 粮食(豆类) 72.0 单季\n", + "4 A5 4 绿豆 粮食(豆类) 68.0 单季\n", + ".. ... ... ... ... ... ...\n", + "82 NaN 28 小青菜 蔬菜 0.3 第二季\n", + "83 NaN 30 生菜 蔬菜 0.3 第二季\n", + "84 F4 19 芸豆 蔬菜(豆类) 0.6 第一季\n", + "85 NaN 34 芹菜 蔬菜 0.3 第二季\n", + "86 NaN 23 菠菜 蔬菜 0.3 第二季\n", + "\n", + "[87 rows x 6 columns], 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", + "102 103 30 生菜 智慧大棚 第二季 4500 2200 5.40-7.20\n", + "103 104 31 辣椒 智慧大棚 第二季 1800 1300 7.20-10.20\n", + "104 105 32 空心菜 智慧大棚 第二季 11000 5500 3.60-7.20\n", + "105 106 33 黄心菜 智慧大棚 第二季 5400 2750 4.80-6.00\n", + "106 107 34 芹菜 智慧大棚 第二季 6000 1200 3.80-5.80\n", + "\n", + "[107 rows x 8 columns])\n" + ] + } + ], + "execution_count": 62 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:13:02.924946Z", + "start_time": "2024-09-06T03:13:02.864285Z" + } + }, + "cell_type": "code", + "source": [ + "df_final = preprocess_data(df_land, df_crop_land, df_planting, df_crop_details)\n", + "df_grouped, df_crop_stats = calculate_stats(df_final)\n", + "\n", + "print(\"按地块类型和作物名称统计的总产量和总销售收入:\")\n", + "print(df_grouped)\n", + "print(\"\\n按作物名称统计的总产量和总销售收入:\")\n", + "print(df_crop_stats)" + ], + "id": "6fa8c4cce80d25ef", + "outputs": [ + { + "ename": "KeyError", + "evalue": "'种植地块'", + "output_type": "error", + "traceback": [ + "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m", + "\u001B[1;31mKeyError\u001B[0m Traceback (most recent call last)", + "Cell \u001B[1;32mIn[63], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m df_final \u001B[38;5;241m=\u001B[39m \u001B[43mpreprocess_data\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdf_land\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdf_crop_land\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdf_planting\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdf_crop_details\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 2\u001B[0m df_grouped, df_crop_stats \u001B[38;5;241m=\u001B[39m calculate_stats(df_final)\n\u001B[0;32m 4\u001B[0m \u001B[38;5;28mprint\u001B[39m(\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124m按地块类型和作物名称统计的总产量和总销售收入:\u001B[39m\u001B[38;5;124m\"\u001B[39m)\n", + "Cell \u001B[1;32mIn[62], line 16\u001B[0m, in \u001B[0;36mpreprocess_data\u001B[1;34m(df_land, df_crop_land, df_planting, df_crop_details)\u001B[0m\n\u001B[0;32m 14\u001B[0m \u001B[38;5;28;01mdef\u001B[39;00m \u001B[38;5;21mpreprocess_data\u001B[39m(df_land, df_crop_land, df_planting, df_crop_details):\n\u001B[0;32m 15\u001B[0m \u001B[38;5;66;03m# 合并地块信息和种植信息\u001B[39;00m\n\u001B[1;32m---> 16\u001B[0m df_merged \u001B[38;5;241m=\u001B[39m \u001B[43mpd\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43mmerge\u001B[49m\u001B[43m(\u001B[49m\u001B[43mdf_land\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mdf_planting\u001B[49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mleft_on\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[38;5;124;43m地块名称\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[43m,\u001B[49m\u001B[43m \u001B[49m\u001B[43mright_on\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[38;5;124;43m种植地块\u001B[39;49m\u001B[38;5;124;43m'\u001B[39;49m\u001B[43m)\u001B[49m\n\u001B[0;32m 18\u001B[0m \u001B[38;5;66;03m# 合并作物信息和地块类型信息\u001B[39;00m\n\u001B[0;32m 19\u001B[0m df_crop_details[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m销售单价中间值\u001B[39m\u001B[38;5;124m'\u001B[39m] \u001B[38;5;241m=\u001B[39m df_crop_details[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m销售单价/(元/斤)\u001B[39m\u001B[38;5;124m'\u001B[39m]\u001B[38;5;241m.\u001B[39mapply(\n\u001B[0;32m 20\u001B[0m \u001B[38;5;28;01mlambda\u001B[39;00m x: (x\u001B[38;5;241m.\u001B[39msplit(\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m-\u001B[39m\u001B[38;5;124m'\u001B[39m)[\u001B[38;5;241m0\u001B[39m] \u001B[38;5;241m+\u001B[39m x\u001B[38;5;241m.\u001B[39msplit(\u001B[38;5;124m'\u001B[39m\u001B[38;5;124m-\u001B[39m\u001B[38;5;124m'\u001B[39m)[\u001B[38;5;241m1\u001B[39m]) \u001B[38;5;241m/\u001B[39m \u001B[38;5;241m2\u001B[39m)\n", + "File \u001B[1;32mD:\\Anaconda\\envs\\lite\\lib\\site-packages\\pandas\\core\\reshape\\merge.py:169\u001B[0m, in \u001B[0;36mmerge\u001B[1;34m(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)\u001B[0m\n\u001B[0;32m 154\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m _cross_merge(\n\u001B[0;32m 155\u001B[0m left_df,\n\u001B[0;32m 156\u001B[0m right_df,\n\u001B[1;32m (...)\u001B[0m\n\u001B[0;32m 166\u001B[0m copy\u001B[38;5;241m=\u001B[39mcopy,\n\u001B[0;32m 167\u001B[0m )\n\u001B[0;32m 168\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m--> 169\u001B[0m op \u001B[38;5;241m=\u001B[39m \u001B[43m_MergeOperation\u001B[49m\u001B[43m(\u001B[49m\n\u001B[0;32m 170\u001B[0m \u001B[43m \u001B[49m\u001B[43mleft_df\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 171\u001B[0m \u001B[43m \u001B[49m\u001B[43mright_df\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 172\u001B[0m \u001B[43m \u001B[49m\u001B[43mhow\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mhow\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 173\u001B[0m \u001B[43m \u001B[49m\u001B[43mon\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mon\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 174\u001B[0m \u001B[43m \u001B[49m\u001B[43mleft_on\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mleft_on\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 175\u001B[0m \u001B[43m \u001B[49m\u001B[43mright_on\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mright_on\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 176\u001B[0m \u001B[43m \u001B[49m\u001B[43mleft_index\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mleft_index\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 177\u001B[0m \u001B[43m \u001B[49m\u001B[43mright_index\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mright_index\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 178\u001B[0m \u001B[43m \u001B[49m\u001B[43msort\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43msort\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 179\u001B[0m \u001B[43m \u001B[49m\u001B[43msuffixes\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43msuffixes\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 180\u001B[0m \u001B[43m \u001B[49m\u001B[43mindicator\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mindicator\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 181\u001B[0m \u001B[43m \u001B[49m\u001B[43mvalidate\u001B[49m\u001B[38;5;241;43m=\u001B[39;49m\u001B[43mvalidate\u001B[49m\u001B[43m,\u001B[49m\n\u001B[0;32m 182\u001B[0m \u001B[43m \u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 183\u001B[0m \u001B[38;5;28;01mreturn\u001B[39;00m op\u001B[38;5;241m.\u001B[39mget_result(copy\u001B[38;5;241m=\u001B[39mcopy)\n", + "File \u001B[1;32mD:\\Anaconda\\envs\\lite\\lib\\site-packages\\pandas\\core\\reshape\\merge.py:791\u001B[0m, in \u001B[0;36m_MergeOperation.__init__\u001B[1;34m(self, left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, indicator, validate)\u001B[0m\n\u001B[0;32m 781\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m MergeError(msg)\n\u001B[0;32m 783\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mleft_on, \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mright_on \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_validate_left_right_on(left_on, right_on)\n\u001B[0;32m 785\u001B[0m (\n\u001B[0;32m 786\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mleft_join_keys,\n\u001B[0;32m 787\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mright_join_keys,\n\u001B[0;32m 788\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mjoin_names,\n\u001B[0;32m 789\u001B[0m left_drop,\n\u001B[0;32m 790\u001B[0m right_drop,\n\u001B[1;32m--> 791\u001B[0m ) \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;43mself\u001B[39;49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_get_merge_keys\u001B[49m\u001B[43m(\u001B[49m\u001B[43m)\u001B[49m\n\u001B[0;32m 793\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m left_drop:\n\u001B[0;32m 794\u001B[0m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mleft \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mleft\u001B[38;5;241m.\u001B[39m_drop_labels_or_levels(left_drop)\n", + "File \u001B[1;32mD:\\Anaconda\\envs\\lite\\lib\\site-packages\\pandas\\core\\reshape\\merge.py:1269\u001B[0m, in \u001B[0;36m_MergeOperation._get_merge_keys\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m 1267\u001B[0m rk \u001B[38;5;241m=\u001B[39m cast(Hashable, rk)\n\u001B[0;32m 1268\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m rk \u001B[38;5;129;01mis\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m \u001B[38;5;28;01mNone\u001B[39;00m:\n\u001B[1;32m-> 1269\u001B[0m right_keys\u001B[38;5;241m.\u001B[39mappend(\u001B[43mright\u001B[49m\u001B[38;5;241;43m.\u001B[39;49m\u001B[43m_get_label_or_level_values\u001B[49m\u001B[43m(\u001B[49m\u001B[43mrk\u001B[49m\u001B[43m)\u001B[49m)\n\u001B[0;32m 1270\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[0;32m 1271\u001B[0m \u001B[38;5;66;03m# work-around for merge_asof(right_index=True)\u001B[39;00m\n\u001B[0;32m 1272\u001B[0m right_keys\u001B[38;5;241m.\u001B[39mappend(right\u001B[38;5;241m.\u001B[39mindex\u001B[38;5;241m.\u001B[39m_values)\n", + "File \u001B[1;32mD:\\Anaconda\\envs\\lite\\lib\\site-packages\\pandas\\core\\generic.py:1844\u001B[0m, in \u001B[0;36mNDFrame._get_label_or_level_values\u001B[1;34m(self, key, axis)\u001B[0m\n\u001B[0;32m 1842\u001B[0m values \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39maxes[axis]\u001B[38;5;241m.\u001B[39mget_level_values(key)\u001B[38;5;241m.\u001B[39m_values\n\u001B[0;32m 1843\u001B[0m \u001B[38;5;28;01melse\u001B[39;00m:\n\u001B[1;32m-> 1844\u001B[0m \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m(key)\n\u001B[0;32m 1846\u001B[0m \u001B[38;5;66;03m# Check for duplicates\u001B[39;00m\n\u001B[0;32m 1847\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m values\u001B[38;5;241m.\u001B[39mndim \u001B[38;5;241m>\u001B[39m \u001B[38;5;241m1\u001B[39m:\n", + "\u001B[1;31mKeyError\u001B[0m: '种植地块'" + ] + } + ], + "execution_count": 63 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:21:35.298725Z", + "start_time": "2024-09-06T03:21:35.267092Z" + } + }, + "cell_type": "code", + "source": [ + "import enum\n", + "\n", + "\n", + "# class LandType(enum.Enum):\n", + "# # A = 0\n", + "# # B = 1\n", + "# # C = 2\n", + "# # D = 3\n", + "# # E = 4\n", + "# # F = 5\n", + "# A = \"平旱地\"\n", + "# B = \"梯田\"\n", + "# C = \"山坡地\"\n", + "# D = \"水浇地\"\n", + "# E = \"普通大棚\"\n", + "# F = \"智慧大棚\"\n", + "\n", + "LandType = {\"A\": \"平旱地\", \"B\": \"梯田\", \"C\": \"山坡地\", \"D\": \"水浇地\", \"E\": \"普通大棚\", \"F\": \"智慧大棚\"}\n", + "\n", + "class Land:\n", + " landName = \"\"\n", + " landType = \"\"\n", + " landArea = 0\n", + "\n", + " def __init__(self, land_name, land_type, land_area):\n", + " self.landName = land_name\n", + " self.landType = land_type\n", + " self.landArea = land_area\n", + "\n", + " def __str__(self):\n", + " return f\"地块名称:{self.landName}, 地块类型:{self.landType}, 地块面积:{self.landArea}\"\n", + "\n", + " def __repr__(self):\n", + " return self.__str__()\n", + "\n", + "\n", + "df_land = pd.read_excel('./data/1.xlsx', sheet_name=0)\n", + "land_list = []\n", + "for i in range(len(df_land)):\n", + " land_list.append(Land(df_land.loc[i, 'landName'], df_land.loc[i, 'landType'], df_land.loc[i, 'landArea']))\n" + ], + "id": "de7eae459d5ac038", + "outputs": [], + "execution_count": 81 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:21:35.889930Z", + "start_time": "2024-09-06T03:21:35.834548Z" + } + }, + "cell_type": "code", + "source": [ + "df_planting = pd.read_excel('./data/2.xlsx', sheet_name=0)\n", + "df_crop_details = pd.read_excel('./data/2.xlsx', sheet_name=1)" + ], + "id": "1b344bb5c5ceca6", + "outputs": [], + "execution_count": 82 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:21:36.358909Z", + "start_time": "2024-09-06T03:21:36.342806Z" + } + }, + "cell_type": "code", + "source": "df_crop_details", + "id": "2a7d4e6303a8ce7d", + "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", + "102 103 30 生菜 智慧大棚 第二季 4500 2200 5.40-7.20\n", + "103 104 31 辣椒 智慧大棚 第二季 1800 1300 7.20-10.20\n", + "104 105 32 空心菜 智慧大棚 第二季 11000 5500 3.60-7.20\n", + "105 106 33 黄心菜 智慧大棚 第二季 5400 2750 4.80-6.00\n", + "106 107 34 芹菜 智慧大棚 第二季 6000 1200 3.80-5.80\n", + "\n", + "[107 rows x 8 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nocropNumcropNamecropLandTypeseasonunitYieldcostprice
011黄豆平旱地单季4004002.50-4.00
122黑豆平旱地单季5004006.50-8.50
233红豆平旱地单季4003507.50-9.00
344绿豆平旱地单季3503506.00-8.00
455爬豆平旱地单季4153506.00-7.50
...........................
10210330生菜智慧大棚第二季450022005.40-7.20
10310431辣椒智慧大棚第二季180013007.20-10.20
10410532空心菜智慧大棚第二季1100055003.60-7.20
10510633黄心菜智慧大棚第二季540027504.80-6.00
10610734芹菜智慧大棚第二季600012003.80-5.80
\n", + "

107 rows × 8 columns

\n", + "
" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 83 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:21:36.920063Z", + "start_time": "2024-09-06T03:21:36.906066Z" + } + }, + "cell_type": "code", + "source": "df_planting", + "id": "cb078daf97226df9", + "outputs": [ + { + "data": { + "text/plain": [ + " landName cropNum cropName cropType plantArea season\n", + "0 A1 6 小麦 粮食 80.0 单季\n", + "1 A2 7 玉米 粮食 55.0 单季\n", + "2 A3 7 玉米 粮食 35.0 单季\n", + "3 A4 1 黄豆 粮食(豆类) 72.0 单季\n", + "4 A5 4 绿豆 粮食(豆类) 68.0 单季\n", + ".. ... ... ... ... ... ...\n", + "82 NaN 28 小青菜 蔬菜 0.3 第二季\n", + "83 NaN 30 生菜 蔬菜 0.3 第二季\n", + "84 F4 19 芸豆 蔬菜(豆类) 0.6 第一季\n", + "85 NaN 34 芹菜 蔬菜 0.3 第二季\n", + "86 NaN 23 菠菜 蔬菜 0.3 第二季\n", + "\n", + "[87 rows x 6 columns]" + ], + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
landNamecropNumcropNamecropTypeplantAreaseason
0A16小麦粮食80.0单季
1A27玉米粮食55.0单季
2A37玉米粮食35.0单季
3A41黄豆粮食(豆类)72.0单季
4A54绿豆粮食(豆类)68.0单季
.....................
82NaN28小青菜蔬菜0.3第二季
83NaN30生菜蔬菜0.3第二季
84F419芸豆蔬菜(豆类)0.6第一季
85NaN34芹菜蔬菜0.3第二季
86NaN23菠菜蔬菜0.3第二季
\n", + "

87 rows × 6 columns

\n", + "
" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 84 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:21:37.434419Z", + "start_time": "2024-09-06T03:21:37.423314Z" + } + }, + "cell_type": "code", + "source": [ + "# 定义过滤条件\n", + "condition = (df_crop_details['cropNum'] == 8) & (df_crop_details['cropLandType'] == '平旱地') & (\n", + " df_crop_details['season'] == '单季')\n", + "\n", + "# 应用过滤条件\n", + "filtered_df = df_crop_details[condition]\n", + "filtered_df.cost" + ], + "id": "a87c7c7cd60851e8", + "outputs": [ + { + "data": { + "text/plain": [ + "7 360\n", + "Name: cost, dtype: int64" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 85 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:43:12.430452Z", + "start_time": "2024-09-06T03:43:12.417025Z" + } + }, + "cell_type": "code", + "source": [ + "def get_crop_price(crop_num, crop_land_type, season):\n", + " if crop_land_type==\"智慧大棚\" and season==\"第一季\":\n", + " crop_land_type = \"普通大棚\"\n", + " s = df_crop_details[(df_crop_details['cropNum'] == crop_num) & (df_crop_details['cropLandType'] == crop_land_type) & (\n", + " df_crop_details['season'] == season)].price.values[0].split('-')\n", + " return (float(s[0]) + float(s[1])) / 2\n", + "\n", + "def get_crop_yield(crop_num, crop_land_type, season):\n", + " if crop_land_type==\"智慧大棚\" and season==\"第一季\":\n", + " crop_land_type = \"普通大棚\"\n", + " return df_crop_details[(df_crop_details['cropNum'] == crop_num) & (df_crop_details['cropLandType'] == crop_land_type) & (\n", + " df_crop_details['season'] == season)].unitYield.values[0]\n", + "\n", + "def get_crop_cost(crop_num, crop_land_type, season):\n", + " if crop_land_type==\"智慧大棚\" and season==\"第一季\":\n", + " crop_land_type = \"普通大棚\"\n", + " return df_crop_details[(df_crop_details['cropNum'] == crop_num) & (df_crop_details['cropLandType'] == crop_land_type) & (\n", + " df_crop_details['season'] == season)].cost.values[0]" + ], + "id": "c1aeae8d35dfaba4", + "outputs": [], + "execution_count": 103 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:31:21.848658Z", + "start_time": "2024-09-06T03:31:21.830790Z" + } + }, + "cell_type": "code", + "source": "get_crop_price(8, '平旱地', '单季')", + "id": "fbb6f17a3fa0be", + "outputs": [ + { + "data": { + "text/plain": [ + "6.75" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 97 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:29:24.789254Z", + "start_time": "2024-09-06T03:29:24.778904Z" + } + }, + "cell_type": "code", + "source": [ + "df_planting['landName'] = df_planting['landName'].ffill()\n", + "df_crop_details['cropLandType'] = df_crop_details['cropLandType'].str.rstrip()" + ], + "id": "badbb5129135f9b2", + "outputs": [], + "execution_count": 94 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2024-09-06T03:45:53.605223Z", + "start_time": "2024-09-06T03:45:53.517449Z" + } + }, + "cell_type": "code", + "source": [ + "total_yield = {crop:0 for crop in df_crop_details['cropNum'].unique()}\n", + "total_cost = {crop:0 for crop in df_crop_details['cropNum'].unique()}\n", + "total_income = {crop:0 for crop in df_crop_details['cropNum'].unique()}\n", + "total_profit = {crop:0 for crop in df_crop_details['cropNum'].unique()}\n", + "for line in df_planting.values:\n", + " print(line)\n", + " print(line[1], LandType[line[0][0]], line[5])\n", + " yld = line[4] * get_crop_yield(line[1], LandType[line[0][0]], line[5])\n", + " cost = line[4] * get_crop_cost(line[1], LandType[line[0][0]], line[5])\n", + " income = yld * get_crop_price(line[1], LandType[line[0][0]], line[5])\n", + " profit = income - cost\n", + " \n", + " total_yield[line[1]] += yld\n", + " total_cost[line[1]] += cost\n", + " total_income[line[1]] += income\n", + " total_profit[line[1]] += profit\n", + "total_profit" + ], + "id": "924b12d0f8978284", + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['A1' 6 '小麦' '粮食' 80.0 '单季']\n", + "6 平旱地 单季\n", + "['A2' 7 '玉米' '粮食' 55.0 '单季']\n", + "7 平旱地 单季\n", + "['A3' 7 '玉米' '粮食' 35.0 '单季']\n", + "7 平旱地 单季\n", + "['A4' 1 '黄豆' '粮食(豆类)' 72.0 '单季']\n", + "1 平旱地 单季\n", + "['A5' 4 '绿豆' '粮食(豆类)' 68.0 '单季']\n", + "4 平旱地 单季\n", + "['A6' 8 '谷子' '粮食' 55.0 '单季']\n", + "8 平旱地 单季\n", + "['B1' 6 '小麦' '粮食' 60.0 '单季']\n", + "6 梯田 单季\n", + "['B2' 2 '黑豆' '粮食(豆类)' 46.0 '单季']\n", + "2 梯田 单季\n", + "['B3' 3 '红豆' '粮食(豆类)' 40.0 '单季']\n", + "3 梯田 单季\n", + "['B4' 4 '绿豆' '粮食(豆类)' 28.0 '单季']\n", + "4 梯田 单季\n", + "['B5' 5 '爬豆' '粮食(豆类)' 25.0 '单季']\n", + "5 梯田 单季\n", + "['B6' 8 '谷子' '粮食' 86.0 '单季']\n", + "8 梯田 单季\n", + "['B7' 6 '小麦' '粮食' 55.0 '单季']\n", + "6 梯田 单季\n", + "['B8' 8 '谷子' '粮食' 44.0 '单季']\n", + "8 梯田 单季\n", + "['B9' 9 '高粱' '粮食' 50.0 '单季']\n", + "9 梯田 单季\n", + "['B10' 10 '黍子' '粮食' 25.0 '单季']\n", + "10 梯田 单季\n", + "['B11' 1 '黄豆' '粮食(豆类)' 60.0 '单季']\n", + "1 梯田 单季\n", + "['B12' 7 '玉米' '粮食' 45.0 '单季']\n", + "7 梯田 单季\n", + "['B13' 14 '莜麦' '粮食' 35.0 '单季']\n", + "14 梯田 单季\n", + "['B14' 15 '大麦' '粮食' 20.0 '单季']\n", + "15 梯田 单季\n", + "['C1' 11 '荞麦' '粮食' 15.0 '单季']\n", + "11 山坡地 单季\n", + "['C2' 12 '南瓜' '粮食' 13.0 '单季']\n", + "12 山坡地 单季\n", + "['C3' 1 '黄豆' '粮食(豆类)' 15.0 '单季']\n", + "1 山坡地 单季\n", + "['C4' 13 '红薯' '粮食' 18.0 '单季']\n", + "13 山坡地 单季\n", + "['C5' 6 '小麦' '粮食' 27.0 '单季']\n", + "6 山坡地 单季\n", + "['C6' 3 '红豆' '粮食(豆类)' 20.0 '单季']\n", + "3 山坡地 单季\n", + "['D1' 20 '土豆' '蔬菜 ' 15.0 '第一季']\n", + "20 水浇地 第一季\n", + "['D1' 36 '白萝卜' '蔬菜 ' 15.0 '第二季']\n", + "36 水浇地 第二季\n", + "['D2' 28 '小青菜' '蔬菜 ' 10.0 '第一季']\n", + "28 水浇地 第一季\n", + "['D2' 35 '大白菜' '蔬菜 ' 10.0 '第二季']\n", + "35 水浇地 第二季\n", + "['D3' 21 '西红柿' '蔬菜 ' 14.0 '第一季']\n", + "21 水浇地 第一季\n", + "['D3' 35 '大白菜' '蔬菜 ' 14.0 '第二季']\n", + "35 水浇地 第二季\n", + "['D4' 22 '茄子' '蔬菜 ' 6.0 '第一季']\n", + "22 水浇地 第一季\n", + "['D4' 35 '大白菜' '蔬菜 ' 6.0 '第二季']\n", + "35 水浇地 第二季\n", + "['D5' 17 '豇豆' '蔬菜(豆类)' 10.0 '第一季']\n", + "17 水浇地 第一季\n", + "['D5' 36 '白萝卜' '蔬菜 ' 10.0 '第二季']\n", + "36 水浇地 第二季\n", + "['D6' 18 '刀豆' '蔬菜(豆类)' 12.0 '第一季']\n", + "18 水浇地 第一季\n", + "['D6' 37 '红萝卜' '蔬菜 ' 12.0 '第二季']\n", + "37 水浇地 第二季\n", + "['D7' 16 '水稻' '粮食' 22.0 '单季']\n", + "16 水浇地 单季\n", + "['D8' 16 '水稻' '粮食' 20.0 '单季']\n", + "16 水浇地 单季\n", + "['E1' 18 '刀豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "18 普通大棚 第一季\n", + "['E1' 38 '榆黄菇' '食用菌' 0.6 '第二季']\n", + "38 普通大棚 第二季\n", + "['E2' 24 '青椒' '蔬菜 ' 0.6 '第一季']\n", + "24 普通大棚 第一季\n", + "['E2' 38 '榆黄菇' '食用菌' 0.6 '第二季']\n", + "38 普通大棚 第二季\n", + "['E3' 25 '菜花' '蔬菜 ' 0.6 '第一季']\n", + "25 普通大棚 第一季\n", + "['E3' 38 '榆黄菇' '食用菌' 0.6 '第二季']\n", + "38 普通大棚 第二季\n", + "['E4' 26 '包菜' '蔬菜 ' 0.6 '第一季']\n", + "26 普通大棚 第一季\n", + "['E4' 39 '香菇' '食用菌' 0.6 '第二季']\n", + "39 普通大棚 第二季\n", + "['E5' 28 '小青菜' '蔬菜 ' 0.6 '第一季']\n", + "28 普通大棚 第一季\n", + "['E5' 39 '香菇' '食用菌' 0.6 '第二季']\n", + "39 普通大棚 第二季\n", + "['E6' 27 '油麦菜' '蔬菜 ' 0.6 '第一季']\n", + "27 普通大棚 第一季\n", + "['E6' 39 '香菇' '食用菌' 0.6 '第二季']\n", + "39 普通大棚 第二季\n", + "['E7' 19 '芸豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "19 普通大棚 第一季\n", + "['E7' 40 '白灵菇' '食用菌' 0.6 '第二季']\n", + "40 普通大棚 第二季\n", + "['E8' 19 '芸豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "19 普通大棚 第一季\n", + "['E8' 40 '白灵菇' '食用菌' 0.6 '第二季']\n", + "40 普通大棚 第二季\n", + "['E9' 18 '刀豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "18 普通大棚 第一季\n", + "['E9' 40 '白灵菇' '食用菌' 0.6 '第二季']\n", + "40 普通大棚 第二季\n", + "['E10' 17 '豇豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "17 普通大棚 第一季\n", + "['E10' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E11' 17 '豇豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "17 普通大棚 第一季\n", + "['E11' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E12' 22 '茄子' '蔬菜 ' 0.6 '第一季']\n", + "22 普通大棚 第一季\n", + "['E12' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E13' 21 '西红柿' '蔬菜 ' 0.6 '第一季']\n", + "21 普通大棚 第一季\n", + "['E13' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E14' 29 '黄瓜' '蔬菜 ' 0.6 '第一季']\n", + "29 普通大棚 第一季\n", + "['E14' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E15' 30 '生菜' '蔬菜 ' 0.3 '第一季']\n", + "30 普通大棚 第一季\n", + "['E15' 27 '油麦菜' '蔬菜 ' 0.3 '第一季']\n", + "27 普通大棚 第一季\n", + "['E15' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['E16' 31 '辣椒' '蔬菜 ' 0.6 '第一季']\n", + "31 普通大棚 第一季\n", + "['E16' 41 '羊肚菌' '食用菌' 0.6 '第二季']\n", + "41 普通大棚 第二季\n", + "['F1' 32 '空心菜' '蔬菜 ' 0.3 '第一季']\n", + "32 智慧大棚 第一季\n", + "['F1' 33 '黄心菜' '蔬菜 ' 0.3 '第一季']\n", + "33 智慧大棚 第一季\n", + "['F1' 24 '青椒' '蔬菜 ' 0.3 '第二季']\n", + "24 智慧大棚 第二季\n", + "['F1' 21 '西红柿' '蔬菜 ' 0.3 '第二季']\n", + "21 智慧大棚 第二季\n", + "['F2' 25 '菜花' '蔬菜 ' 0.3 '第一季']\n", + "25 智慧大棚 第一季\n", + "['F2' 26 '包菜' '蔬菜 ' 0.3 '第一季']\n", + "26 智慧大棚 第一季\n", + "['F2' 22 '茄子' '蔬菜 ' 0.3 '第二季']\n", + "22 智慧大棚 第二季\n", + "['F2' 29 '黄瓜' '蔬菜 ' 0.3 '第二季']\n", + "29 智慧大棚 第二季\n", + "['F3' 17 '豇豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "17 智慧大棚 第一季\n", + "['F3' 28 '小青菜' '蔬菜 ' 0.3 '第二季']\n", + "28 智慧大棚 第二季\n", + "['F3' 30 '生菜 ' '蔬菜 ' 0.3 '第二季']\n", + "30 智慧大棚 第二季\n", + "['F4' 19 '芸豆' '蔬菜(豆类)' 0.6 '第一季']\n", + "19 智慧大棚 第一季\n", + "['F4' 34 '芹菜' '蔬菜 ' 0.3 '第二季']\n", + "34 智慧大棚 第二季\n", + "['F4' 23 '菠菜 ' '蔬菜 ' 0.3 '第二季']\n", + "23 智慧大棚 第二季\n" + ] + }, + { + "data": { + "text/plain": [ + "{1: 126450.0,\n", + " 2: 145475.0,\n", + " 3: 163800.0,\n", + " 4: 197680.0,\n", + " 5: 57906.25,\n", + " 6: 498040.0,\n", + " 7: 330750.0,\n", + " 8: 415350.0,\n", + " 9: 160000.0,\n", + " 10: 84750.0,\n", + " 11: 54750.0,\n", + " 12: 39650.0,\n", + " 13: 81000.0,\n", + " 14: 63000.0,\n", + " 15: 28000.0,\n", + " 16: 118440.0,\n", + " 17: 267520.0,\n", + " 18: 168000.0,\n", + " 19: 37800.0,\n", + " 20: 82500.0,\n", + " 21: 197093.0,\n", + " 22: 237624.0,\n", + " 23: 5310.0,\n", + " 24: 13098.0,\n", + " 25: 17100.0,\n", + " 26: 23175.0,\n", + " 27: 20700.0,\n", + " 28: 187392.0,\n", + " 29: 93765.0,\n", + " 30: 15120.000000000002,\n", + " 31: 7980.0,\n", + " 32: 14700.0,\n", + " 33: 7350.0,\n", + " 34: 8280.0,\n", + " 35: 315000.0,\n", + " 36: 237500.0,\n", + " 37: 111000.0,\n", + " 38: 512100.0,\n", + " 39: 133200.0,\n", + " 40: 270000.0,\n", + " 41: 378000.0}" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 107 + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "", + "id": "944704309ea97c8e" + } + ], + "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 +}