2300 lines
264 KiB
Plaintext
2300 lines
264 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 1,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import pandas as pd\n",
|
|||
|
"import numpy as np\n",
|
|||
|
"import xgboost as xgb\n",
|
|||
|
"import seaborn as sns\n",
|
|||
|
"from sklearn.model_selection import train_test_split"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 2,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"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>铭牌容量 (MW)</th>\n",
|
|||
|
" <th>longitude</th>\n",
|
|||
|
" <th>latitude</th>\n",
|
|||
|
" <th>altitude</th>\n",
|
|||
|
" <th>power_co2_factor</th>\n",
|
|||
|
" <th>heat_co2_factor</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>供热式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.574332</td>\n",
|
|||
|
" <td>0.072680</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.582164</td>\n",
|
|||
|
" <td>0.072391</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>4.808939</td>\n",
|
|||
|
" <td>3.476886</td>\n",
|
|||
|
" <td>1.098612</td>\n",
|
|||
|
" <td>0.569281</td>\n",
|
|||
|
" <td>0.071041</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>4.807356</td>\n",
|
|||
|
" <td>3.458373</td>\n",
|
|||
|
" <td>1.609438</td>\n",
|
|||
|
" <td>0.506250</td>\n",
|
|||
|
" <td>0.070460</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>纯凝式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.860786</td>\n",
|
|||
|
" <td>4.807839</td>\n",
|
|||
|
" <td>3.478627</td>\n",
|
|||
|
" <td>2.833213</td>\n",
|
|||
|
" <td>0.565226</td>\n",
|
|||
|
" <td>0.073717</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 所处地区 机组类型 参数分类 冷凝器型式 铭牌容量 (MW) longitude latitude altitude \\\n",
|
|||
|
"0 上海市 供热式 亚临界 水冷 5.707110 4.807875 3.467769 1.386294 \n",
|
|||
|
"1 上海市 凝气式 亚临界 水冷 5.707110 4.807875 3.467769 1.386294 \n",
|
|||
|
"2 上海市 凝气式 亚临界 水冷 5.771441 4.808939 3.476886 1.098612 \n",
|
|||
|
"3 上海市 凝气式 超超临界 水冷 6.908755 4.807356 3.458373 1.609438 \n",
|
|||
|
"4 上海市 纯凝式 亚临界 水冷 5.860786 4.807839 3.478627 2.833213 \n",
|
|||
|
"\n",
|
|||
|
" power_co2_factor heat_co2_factor \n",
|
|||
|
"0 0.574332 0.072680 \n",
|
|||
|
"1 0.582164 0.072391 \n",
|
|||
|
"2 0.569281 0.071041 \n",
|
|||
|
"3 0.506250 0.070460 \n",
|
|||
|
"4 0.565226 0.073717 "
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 2,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data = pd.read_csv('./results/去煤种化数据.csv')\n",
|
|||
|
"data.head()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 3,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"(['所处地区', '机组类型', '参数分类', '冷凝器型式'],\n",
|
|||
|
" Index(['铭牌容量 (MW)', 'longitude', 'latitude', 'altitude'], dtype='object'))"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 3,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"object_cols = data.columns[:4].tolist()\n",
|
|||
|
"num_cols = data.columns[4:8]\n",
|
|||
|
"object_cols, num_cols"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 4,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_data = pd.read_excel('./data/煤电机组情况(含企业名称).xlsx',)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 5,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_geo_info = pd.read_excel('./data/电厂地理信息.xlsx')\n",
|
|||
|
"test_geo_info.rename(columns={'name':'企业名称'}, inplace=True)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 6,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_data = test_data.merge(test_geo_info, how='left', on='企业名称').drop(columns='address')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 7,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_data_cp = test_data.copy()\n",
|
|||
|
"test_data = test_data[['地区', '汽轮机类型', '压力参数', '冷却方式', '单机容量(MW)', 'lat', 'lng', 'altitude']].copy()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 8,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_data.columns = data.columns[:8].tolist()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 9,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"test_data['na_cols'] = test_data.isna().sum(axis=1).values"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 10,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"110838.446"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 10,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"test_data[test_data.na_cols <= 1]['铭牌容量 (MW)'].sum() /10"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 11,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data = test_data[test_data.na_cols <= 1].drop(columns='na_cols').reset_index(drop=True)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 12,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"水冷 413\n",
|
|||
|
"空冷 110\n",
|
|||
|
"其他 1\n",
|
|||
|
"Name: 冷凝器型式, dtype: int64"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 12,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data['冷凝器型式'].value_counts()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 13,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"水冷-闭式循环 2125\n",
|
|||
|
"其他 1076\n",
|
|||
|
"水冷-开式循环 972\n",
|
|||
|
"空冷-直接空冷 586\n",
|
|||
|
"空冷-间接空冷 264\n",
|
|||
|
"水冷 52\n",
|
|||
|
"空冷 14\n",
|
|||
|
"间接空冷 4\n",
|
|||
|
"直接空冷 2\n",
|
|||
|
"Name: 冷凝器型式, dtype: int64"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 13,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"new_test_data['冷凝器型式'].value_counts()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 14,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"def change_type(x:str):\n",
|
|||
|
" if '水冷' in x:\n",
|
|||
|
" return '水冷'\n",
|
|||
|
" elif '空冷' in x:\n",
|
|||
|
" return \"空冷\"\n",
|
|||
|
" else:\n",
|
|||
|
" return '其他'"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 15,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data.fillna('其他', inplace=True)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 16,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data['冷凝器型式'] = new_test_data['冷凝器型式'].apply(change_type)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 17,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"亚临界 265\n",
|
|||
|
"超临界 156\n",
|
|||
|
"超超临界 69\n",
|
|||
|
"超高压 32\n",
|
|||
|
"高压 2\n",
|
|||
|
"Name: 参数分类, dtype: int64"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 17,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data['参数分类'].value_counts()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 18,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"高压 1538\n",
|
|||
|
"亚临界 1075\n",
|
|||
|
"中压 1069\n",
|
|||
|
"超临界 608\n",
|
|||
|
"超高压 447\n",
|
|||
|
"超超临界 358\n",
|
|||
|
"Name: 参数分类, dtype: int64"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 18,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"new_test_data['参数分类'].value_counts()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 19,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data['机组类型'] = new_test_data['机组类型'].apply(lambda x: x if x.endswith('式') else x + '式')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 20,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"for col in num_cols:\n",
|
|||
|
" new_test_data[col] = new_test_data[col].apply(lambda x: 0 if x<0 else x)\n",
|
|||
|
" new_test_data[col] = np.log1p(new_test_data[col])"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 21,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"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>铭牌容量 (MW)</th>\n",
|
|||
|
" <th>longitude</th>\n",
|
|||
|
" <th>latitude</th>\n",
|
|||
|
" <th>altitude</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.713572</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</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>5090</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.912023</td>\n",
|
|||
|
" <td>3.427489</td>\n",
|
|||
|
" <td>4.682353</td>\n",
|
|||
|
" <td>5.645447</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5091</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5092</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽背式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5093</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>背压式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>其他</td>\n",
|
|||
|
" <td>3.433987</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5094</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>4.836282</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"<p>5095 rows × 8 columns</p>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 所处地区 机组类型 参数分类 冷凝器型式 铭牌容量 (MW) longitude latitude altitude\n",
|
|||
|
"0 安徽省 凝气式 亚临界 水冷 5.771441 3.451583 4.772094 2.397895\n",
|
|||
|
"1 安徽省 凝气式 亚临界 水冷 5.771441 3.451583 4.772094 2.397895\n",
|
|||
|
"2 安徽省 凝气式 超超临界 水冷 6.908755 3.451583 4.772094 2.397895\n",
|
|||
|
"3 安徽省 凝气式 超超临界 水冷 6.908755 3.451583 4.772094 2.397895\n",
|
|||
|
"4 安徽省 抽凝式 高压 水冷 3.713572 3.451583 4.772094 2.397895\n",
|
|||
|
"... ... ... ... ... ... ... ... ...\n",
|
|||
|
"5090 重庆市 抽凝式 高压 水冷 3.912023 3.427489 4.682353 5.645447\n",
|
|||
|
"5091 重庆市 抽凝式 高压 水冷 3.258097 3.427666 4.682306 5.627621\n",
|
|||
|
"5092 重庆市 抽背式 高压 水冷 3.258097 3.427666 4.682306 5.627621\n",
|
|||
|
"5093 重庆市 背压式 高压 其他 3.433987 3.428715 4.682208 5.690359\n",
|
|||
|
"5094 重庆市 抽凝式 高压 水冷 4.836282 3.428715 4.682208 5.690359\n",
|
|||
|
"\n",
|
|||
|
"[5095 rows x 8 columns]"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 21,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"new_test_data"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 23,
|
|||
|
"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>铭牌容量 (MW)</th>\n",
|
|||
|
" <th>longitude</th>\n",
|
|||
|
" <th>latitude</th>\n",
|
|||
|
" <th>altitude</th>\n",
|
|||
|
" <th>power_co2_factor</th>\n",
|
|||
|
" <th>heat_co2_factor</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>供热式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.574332</td>\n",
|
|||
|
" <td>0.072680</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.582164</td>\n",
|
|||
|
" <td>0.072391</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>4.808939</td>\n",
|
|||
|
" <td>3.476886</td>\n",
|
|||
|
" <td>1.098612</td>\n",
|
|||
|
" <td>0.569281</td>\n",
|
|||
|
" <td>0.071041</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>4.807356</td>\n",
|
|||
|
" <td>3.458373</td>\n",
|
|||
|
" <td>1.609438</td>\n",
|
|||
|
" <td>0.506250</td>\n",
|
|||
|
" <td>0.070460</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>上海市</td>\n",
|
|||
|
" <td>纯凝式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.860786</td>\n",
|
|||
|
" <td>4.807839</td>\n",
|
|||
|
" <td>3.478627</td>\n",
|
|||
|
" <td>2.833213</td>\n",
|
|||
|
" <td>0.565226</td>\n",
|
|||
|
" <td>0.073717</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",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5090</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.912023</td>\n",
|
|||
|
" <td>3.427489</td>\n",
|
|||
|
" <td>4.682353</td>\n",
|
|||
|
" <td>5.645447</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5091</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5092</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽背式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5093</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>背压式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>其他</td>\n",
|
|||
|
" <td>3.433987</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5094</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>4.836282</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"<p>5619 rows × 10 columns</p>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 所处地区 机组类型 参数分类 冷凝器型式 铭牌容量 (MW) longitude latitude altitude \\\n",
|
|||
|
"0 上海市 供热式 亚临界 水冷 5.707110 4.807875 3.467769 1.386294 \n",
|
|||
|
"1 上海市 凝气式 亚临界 水冷 5.707110 4.807875 3.467769 1.386294 \n",
|
|||
|
"2 上海市 凝气式 亚临界 水冷 5.771441 4.808939 3.476886 1.098612 \n",
|
|||
|
"3 上海市 凝气式 超超临界 水冷 6.908755 4.807356 3.458373 1.609438 \n",
|
|||
|
"4 上海市 纯凝式 亚临界 水冷 5.860786 4.807839 3.478627 2.833213 \n",
|
|||
|
"... ... ... ... ... ... ... ... ... \n",
|
|||
|
"5090 重庆市 抽凝式 高压 水冷 3.912023 3.427489 4.682353 5.645447 \n",
|
|||
|
"5091 重庆市 抽凝式 高压 水冷 3.258097 3.427666 4.682306 5.627621 \n",
|
|||
|
"5092 重庆市 抽背式 高压 水冷 3.258097 3.427666 4.682306 5.627621 \n",
|
|||
|
"5093 重庆市 背压式 高压 其他 3.433987 3.428715 4.682208 5.690359 \n",
|
|||
|
"5094 重庆市 抽凝式 高压 水冷 4.836282 3.428715 4.682208 5.690359 \n",
|
|||
|
"\n",
|
|||
|
" power_co2_factor heat_co2_factor \n",
|
|||
|
"0 0.574332 0.072680 \n",
|
|||
|
"1 0.582164 0.072391 \n",
|
|||
|
"2 0.569281 0.071041 \n",
|
|||
|
"3 0.506250 0.070460 \n",
|
|||
|
"4 0.565226 0.073717 \n",
|
|||
|
"... ... ... \n",
|
|||
|
"5090 NaN NaN \n",
|
|||
|
"5091 NaN NaN \n",
|
|||
|
"5092 NaN NaN \n",
|
|||
|
"5093 NaN NaN \n",
|
|||
|
"5094 NaN NaN \n",
|
|||
|
"\n",
|
|||
|
"[5619 rows x 10 columns]"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 23,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"merge_data = pd.concat([data, new_test_data], axis=0)\n",
|
|||
|
"merge_data"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 24,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"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>铭牌容量 (MW)</th>\n",
|
|||
|
" <th>longitude</th>\n",
|
|||
|
" <th>latitude</th>\n",
|
|||
|
" <th>altitude</th>\n",
|
|||
|
" <th>power_co2_factor</th>\n",
|
|||
|
" <th>heat_co2_factor</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",
|
|||
|
" <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>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.574332</td>\n",
|
|||
|
" <td>0.072680</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>5.707110</td>\n",
|
|||
|
" <td>4.807875</td>\n",
|
|||
|
" <td>3.467769</td>\n",
|
|||
|
" <td>1.386294</td>\n",
|
|||
|
" <td>0.582164</td>\n",
|
|||
|
" <td>0.072391</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>4.808939</td>\n",
|
|||
|
" <td>3.476886</td>\n",
|
|||
|
" <td>1.098612</td>\n",
|
|||
|
" <td>0.569281</td>\n",
|
|||
|
" <td>0.071041</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>4.807356</td>\n",
|
|||
|
" <td>3.458373</td>\n",
|
|||
|
" <td>1.609438</td>\n",
|
|||
|
" <td>0.506250</td>\n",
|
|||
|
" <td>0.070460</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>5.860786</td>\n",
|
|||
|
" <td>4.807839</td>\n",
|
|||
|
" <td>3.478627</td>\n",
|
|||
|
" <td>2.833213</td>\n",
|
|||
|
" <td>0.565226</td>\n",
|
|||
|
" <td>0.073717</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</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",
|
|||
|
" <td>...</td>\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",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5090</th>\n",
|
|||
|
" <td>3.912023</td>\n",
|
|||
|
" <td>3.427489</td>\n",
|
|||
|
" <td>4.682353</td>\n",
|
|||
|
" <td>5.645447</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5091</th>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5092</th>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5093</th>\n",
|
|||
|
" <td>3.433987</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5094</th>\n",
|
|||
|
" <td>4.836282</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>NaN</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" <td>1</td>\n",
|
|||
|
" <td>0</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"<p>5619 rows × 63 columns</p>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 铭牌容量 (MW) longitude latitude altitude power_co2_factor \\\n",
|
|||
|
"0 5.707110 4.807875 3.467769 1.386294 0.574332 \n",
|
|||
|
"1 5.707110 4.807875 3.467769 1.386294 0.582164 \n",
|
|||
|
"2 5.771441 4.808939 3.476886 1.098612 0.569281 \n",
|
|||
|
"3 6.908755 4.807356 3.458373 1.609438 0.506250 \n",
|
|||
|
"4 5.860786 4.807839 3.478627 2.833213 0.565226 \n",
|
|||
|
"... ... ... ... ... ... \n",
|
|||
|
"5090 3.912023 3.427489 4.682353 5.645447 NaN \n",
|
|||
|
"5091 3.258097 3.427666 4.682306 5.627621 NaN \n",
|
|||
|
"5092 3.258097 3.427666 4.682306 5.627621 NaN \n",
|
|||
|
"5093 3.433987 3.428715 4.682208 5.690359 NaN \n",
|
|||
|
"5094 4.836282 3.428715 4.682208 5.690359 NaN \n",
|
|||
|
"\n",
|
|||
|
" heat_co2_factor 所处地区_上海市 所处地区_云南省 所处地区_内蒙古 所处地区_内蒙古自治区 ... \\\n",
|
|||
|
"0 0.072680 1 0 0 0 ... \n",
|
|||
|
"1 0.072391 1 0 0 0 ... \n",
|
|||
|
"2 0.071041 1 0 0 0 ... \n",
|
|||
|
"3 0.070460 1 0 0 0 ... \n",
|
|||
|
"4 0.073717 1 0 0 0 ... \n",
|
|||
|
"... ... ... ... ... ... ... \n",
|
|||
|
"5090 NaN 0 0 0 0 ... \n",
|
|||
|
"5091 NaN 0 0 0 0 ... \n",
|
|||
|
"5092 NaN 0 0 0 0 ... \n",
|
|||
|
"5093 NaN 0 0 0 0 ... \n",
|
|||
|
"5094 NaN 0 0 0 0 ... \n",
|
|||
|
"\n",
|
|||
|
" 机组类型_背压式 参数分类_中压 参数分类_亚临界 参数分类_超临界 参数分类_超超临界 参数分类_超高压 参数分类_高压 \\\n",
|
|||
|
"0 0 0 1 0 0 0 0 \n",
|
|||
|
"1 0 0 1 0 0 0 0 \n",
|
|||
|
"2 0 0 1 0 0 0 0 \n",
|
|||
|
"3 0 0 0 0 1 0 0 \n",
|
|||
|
"4 0 0 1 0 0 0 0 \n",
|
|||
|
"... ... ... ... ... ... ... ... \n",
|
|||
|
"5090 0 0 0 0 0 0 1 \n",
|
|||
|
"5091 0 0 0 0 0 0 1 \n",
|
|||
|
"5092 0 0 0 0 0 0 1 \n",
|
|||
|
"5093 1 0 0 0 0 0 1 \n",
|
|||
|
"5094 0 0 0 0 0 0 1 \n",
|
|||
|
"\n",
|
|||
|
" 冷凝器型式_其他 冷凝器型式_水冷 冷凝器型式_空冷 \n",
|
|||
|
"0 0 1 0 \n",
|
|||
|
"1 0 1 0 \n",
|
|||
|
"2 0 1 0 \n",
|
|||
|
"3 0 1 0 \n",
|
|||
|
"4 0 1 0 \n",
|
|||
|
"... ... ... ... \n",
|
|||
|
"5090 0 1 0 \n",
|
|||
|
"5091 0 1 0 \n",
|
|||
|
"5092 0 1 0 \n",
|
|||
|
"5093 1 0 0 \n",
|
|||
|
"5094 0 1 0 \n",
|
|||
|
"\n",
|
|||
|
"[5619 rows x 63 columns]"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 24,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"use_data = pd.get_dummies(merge_data, columns=object_cols)\n",
|
|||
|
"use_data"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 25,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"use_data.to_csv('./去煤种化后的训练数据.csv', encoding='utf-8-sig', index=False)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 27,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"train_set = use_data[~use_data.power_co2_factor.isna()].copy()\n",
|
|||
|
"test_set = use_data[use_data.power_co2_factor.isna()].copy()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 30,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"feature_cols = [x for x in train_set.columns if 'factor' not in x]"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 31,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"train_data = train_set.copy()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 100,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"from sklearn.model_selection import train_test_split"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 102,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"train, valid = train_test_split(train_data.dropna(), test_size=0.1, shuffle=True, random_state=42)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"dtest = xgb.DMatrix(test_set[feature_cols])"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 124,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"params_xgb = {'objective': 'reg:squarederror',\n",
|
|||
|
" 'booster': 'gbtree',\n",
|
|||
|
" 'eta': 0.005,\n",
|
|||
|
" 'max_depth': 15,\n",
|
|||
|
" 'subsample': 0.9,\n",
|
|||
|
" 'colsample_bytree': 0.9,\n",
|
|||
|
" 'min_child_weight': 1,\n",
|
|||
|
" 'seed': 42}\n",
|
|||
|
"\n",
|
|||
|
"num_boost_round = 1200\n",
|
|||
|
"\n",
|
|||
|
"dtrain = xgb.DMatrix(train[feature_cols], train['power_co2_factor'].values)\n",
|
|||
|
"dvalid = xgb.DMatrix(valid[feature_cols], valid['power_co2_factor'].values)\n",
|
|||
|
"watchlist = [(dtrain, 'train'), (dvalid, 'eval')]\n",
|
|||
|
"\n",
|
|||
|
"gb_model_power = xgb.train(params_xgb, dtrain, num_boost_round, evals=watchlist,\n",
|
|||
|
" early_stopping_rounds=100, verbose_eval=False)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 129,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data['power_co2_factor'] = gb_model_power.predict(dtest)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 130,
|
|||
|
"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>铭牌容量 (MW)</th>\n",
|
|||
|
" <th>longitude</th>\n",
|
|||
|
" <th>latitude</th>\n",
|
|||
|
" <th>altitude</th>\n",
|
|||
|
" <th>prediction</th>\n",
|
|||
|
" <th>power_co2_factor</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" <td>0.563267</td>\n",
|
|||
|
" <td>0.513529</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>亚临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>5.771441</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" <td>0.563267</td>\n",
|
|||
|
" <td>0.513529</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" <td>0.558872</td>\n",
|
|||
|
" <td>0.478943</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>凝气式</td>\n",
|
|||
|
" <td>超超临界</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>6.908755</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" <td>0.558872</td>\n",
|
|||
|
" <td>0.478943</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>安徽省</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.713572</td>\n",
|
|||
|
" <td>3.451583</td>\n",
|
|||
|
" <td>4.772094</td>\n",
|
|||
|
" <td>2.397895</td>\n",
|
|||
|
" <td>0.563501</td>\n",
|
|||
|
" <td>0.510681</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",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5090</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.912023</td>\n",
|
|||
|
" <td>3.427489</td>\n",
|
|||
|
" <td>4.682353</td>\n",
|
|||
|
" <td>5.645447</td>\n",
|
|||
|
" <td>0.562492</td>\n",
|
|||
|
" <td>0.512501</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5091</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>0.562492</td>\n",
|
|||
|
" <td>0.512513</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5092</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽背式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>3.258097</td>\n",
|
|||
|
" <td>3.427666</td>\n",
|
|||
|
" <td>4.682306</td>\n",
|
|||
|
" <td>5.627621</td>\n",
|
|||
|
" <td>0.562597</td>\n",
|
|||
|
" <td>0.514091</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5093</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>背压式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>其他</td>\n",
|
|||
|
" <td>3.433987</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>0.560515</td>\n",
|
|||
|
" <td>0.509951</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>5094</th>\n",
|
|||
|
" <td>重庆市</td>\n",
|
|||
|
" <td>抽凝式</td>\n",
|
|||
|
" <td>高压</td>\n",
|
|||
|
" <td>水冷</td>\n",
|
|||
|
" <td>4.836282</td>\n",
|
|||
|
" <td>3.428715</td>\n",
|
|||
|
" <td>4.682208</td>\n",
|
|||
|
" <td>5.690359</td>\n",
|
|||
|
" <td>0.561920</td>\n",
|
|||
|
" <td>0.511886</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"<p>5095 rows × 10 columns</p>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 所处地区 机组类型 参数分类 冷凝器型式 铭牌容量 (MW) longitude latitude altitude \\\n",
|
|||
|
"0 安徽省 凝气式 亚临界 水冷 5.771441 3.451583 4.772094 2.397895 \n",
|
|||
|
"1 安徽省 凝气式 亚临界 水冷 5.771441 3.451583 4.772094 2.397895 \n",
|
|||
|
"2 安徽省 凝气式 超超临界 水冷 6.908755 3.451583 4.772094 2.397895 \n",
|
|||
|
"3 安徽省 凝气式 超超临界 水冷 6.908755 3.451583 4.772094 2.397895 \n",
|
|||
|
"4 安徽省 抽凝式 高压 水冷 3.713572 3.451583 4.772094 2.397895 \n",
|
|||
|
"... ... ... ... ... ... ... ... ... \n",
|
|||
|
"5090 重庆市 抽凝式 高压 水冷 3.912023 3.427489 4.682353 5.645447 \n",
|
|||
|
"5091 重庆市 抽凝式 高压 水冷 3.258097 3.427666 4.682306 5.627621 \n",
|
|||
|
"5092 重庆市 抽背式 高压 水冷 3.258097 3.427666 4.682306 5.627621 \n",
|
|||
|
"5093 重庆市 背压式 高压 其他 3.433987 3.428715 4.682208 5.690359 \n",
|
|||
|
"5094 重庆市 抽凝式 高压 水冷 4.836282 3.428715 4.682208 5.690359 \n",
|
|||
|
"\n",
|
|||
|
" prediction power_co2_factor \n",
|
|||
|
"0 0.563267 0.513529 \n",
|
|||
|
"1 0.563267 0.513529 \n",
|
|||
|
"2 0.558872 0.478943 \n",
|
|||
|
"3 0.558872 0.478943 \n",
|
|||
|
"4 0.563501 0.510681 \n",
|
|||
|
"... ... ... \n",
|
|||
|
"5090 0.562492 0.512501 \n",
|
|||
|
"5091 0.562492 0.512513 \n",
|
|||
|
"5092 0.562597 0.514091 \n",
|
|||
|
"5093 0.560515 0.509951 \n",
|
|||
|
"5094 0.561920 0.511886 \n",
|
|||
|
"\n",
|
|||
|
"[5095 rows x 10 columns]"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 130,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"new_test_data"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 127,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"params_xgb = {'objective': 'reg:squarederror',\n",
|
|||
|
" 'booster': 'gbtree',\n",
|
|||
|
" 'eta': 0.01,\n",
|
|||
|
" 'max_depth': 30,\n",
|
|||
|
" 'subsample': 0.8,\n",
|
|||
|
" 'colsample_bytree': 0.9,\n",
|
|||
|
" 'min_child_weight': 10,\n",
|
|||
|
" 'seed': 108}\n",
|
|||
|
"\n",
|
|||
|
"num_boost_round = 1200\n",
|
|||
|
"\n",
|
|||
|
"dtrain = xgb.DMatrix(train[feature_cols], train['heat_co2_factor'].values)\n",
|
|||
|
"dvalid = xgb.DMatrix(valid[feature_cols], valid['heat_co2_factor'].values)\n",
|
|||
|
"watchlist = [(dtrain, 'train'), (dvalid, 'eval')]\n",
|
|||
|
"\n",
|
|||
|
"gb_model_heat = xgb.train(params_xgb, dtrain, num_boost_round, evals=watchlist,\n",
|
|||
|
" early_stopping_rounds=100, verbose_eval=False)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 128,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"new_test_data['heat_co2_factor'] = gb_model_heat.predict(dtest)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 28,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"import seaborn as sns\n",
|
|||
|
"import matplotlib.pyplot as plt\n",
|
|||
|
"import datetime as dt\n",
|
|||
|
"\n",
|
|||
|
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
|
|||
|
"plt.rcParams['axes.unicode_minus'] = False"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 29,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"plot_data = new_test_data[['地区', 'prediction']].copy()\n",
|
|||
|
"plot_data['地区'] = plot_data['地区'].apply(lambda x: jieba.lcut(x.strip(), cut_all=True)[0] if not pd.isna(x) else pd.NA)\n",
|
|||
|
"plot_data.columns = ['省份', 'CO2排放强度(kg/MJ)']\n",
|
|||
|
"total_plot_data = pd.concat([plot_data, add_data])"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 30,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"total_plot_data['CO2排放强度(kg/MJ)'] = total_plot_data['CO2排放强度(kg/MJ)'].astype(float)\n",
|
|||
|
"total_plot_data['省份'] = total_plot_data['省份'].apply(lambda x: x if x != '内蒙' else '内蒙古')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 38,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"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>CO2排放强度(kg/MJ)</th>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </thead>\n",
|
|||
|
" <tbody>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>0</th>\n",
|
|||
|
" <td>安徽</td>\n",
|
|||
|
" <td>0.224686</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>1</th>\n",
|
|||
|
" <td>安徽</td>\n",
|
|||
|
" <td>0.198733</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>2</th>\n",
|
|||
|
" <td>安徽</td>\n",
|
|||
|
" <td>0.198733</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>3</th>\n",
|
|||
|
" <td>安徽</td>\n",
|
|||
|
" <td>0.224686</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>4</th>\n",
|
|||
|
" <td>安徽</td>\n",
|
|||
|
" <td>0.224686</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>...</th>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" <td>...</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>848</th>\n",
|
|||
|
" <td>新疆</td>\n",
|
|||
|
" <td>0.196452</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>849</th>\n",
|
|||
|
" <td>辽宁</td>\n",
|
|||
|
" <td>0.185688</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>850</th>\n",
|
|||
|
" <td>内蒙古</td>\n",
|
|||
|
" <td>0.181214</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>851</th>\n",
|
|||
|
" <td>山东</td>\n",
|
|||
|
" <td>0.347570</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" <tr>\n",
|
|||
|
" <th>852</th>\n",
|
|||
|
" <td>浙江</td>\n",
|
|||
|
" <td>0.251777</td>\n",
|
|||
|
" </tr>\n",
|
|||
|
" </tbody>\n",
|
|||
|
"</table>\n",
|
|||
|
"<p>3156 rows × 2 columns</p>\n",
|
|||
|
"</div>"
|
|||
|
],
|
|||
|
"text/plain": [
|
|||
|
" 省份 CO2排放强度(kg/MJ)\n",
|
|||
|
"0 安徽 0.224686\n",
|
|||
|
"1 安徽 0.198733\n",
|
|||
|
"2 安徽 0.198733\n",
|
|||
|
"3 安徽 0.224686\n",
|
|||
|
"4 安徽 0.224686\n",
|
|||
|
".. ... ...\n",
|
|||
|
"848 新疆 0.196452\n",
|
|||
|
"849 辽宁 0.185688\n",
|
|||
|
"850 内蒙古 0.181214\n",
|
|||
|
"851 山东 0.347570\n",
|
|||
|
"852 浙江 0.251777\n",
|
|||
|
"\n",
|
|||
|
"[3156 rows x 2 columns]"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 38,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"total_plot_data"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 31,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 2000x1000 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"plt.figure(figsize=(20, 10))\n",
|
|||
|
"sns.violinplot(x='省份',\n",
|
|||
|
" y='CO2排放强度(kg/MJ)',\n",
|
|||
|
" data=total_plot_data,\n",
|
|||
|
" scale='width',\n",
|
|||
|
" palette='Set2',\n",
|
|||
|
" inner='quartile')\n",
|
|||
|
"\n",
|
|||
|
"# Decoration\n",
|
|||
|
"plt.title('各省(市、自治区)燃煤发电CO2排放强度预测', fontsize=18)\n",
|
|||
|
"plt.savefig('./figure/各省预测值.png')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 50,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"from pyecharts.charts import *\n",
|
|||
|
"from pyecharts import options as opts\n",
|
|||
|
"from pyecharts.commons.utils import JsCode\n",
|
|||
|
"from pyecharts.globals import ThemeType, ChartType"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 51,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"data = pd.read_excel('././././data/机组预测结果.xlsx', sheet_name=2)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 70,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"0.28918716"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 70,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data['prediction'].max()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 76,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"地区\n",
|
|||
|
"海南省 0.232931\n",
|
|||
|
"贵州省 0.234717\n",
|
|||
|
"广东省 0.236436\n",
|
|||
|
"上海市 0.237024\n",
|
|||
|
"甘肃省 0.238403\n",
|
|||
|
"湖北省 0.241863\n",
|
|||
|
"福建省 0.242241\n",
|
|||
|
"湖南省 0.243759\n",
|
|||
|
"宁夏回族自治区 0.245063\n",
|
|||
|
"云南省 0.245078\n",
|
|||
|
"山西省 0.245322\n",
|
|||
|
"新疆维吾尔自治区 0.246324\n",
|
|||
|
"安徽省 0.246587\n",
|
|||
|
"河南省 0.246775\n",
|
|||
|
"陕西省 0.248594\n",
|
|||
|
"天津市 0.248690\n",
|
|||
|
"内蒙古自治区 0.250336\n",
|
|||
|
"江西省 0.250423\n",
|
|||
|
"广西壮族自治区 0.251057\n",
|
|||
|
"河北省 0.251093\n",
|
|||
|
"重庆市 0.254725\n",
|
|||
|
"辽宁省 0.258904\n",
|
|||
|
"四川省 0.259836\n",
|
|||
|
"江苏省 0.261171\n",
|
|||
|
"吉林省 0.263193\n",
|
|||
|
"青海省 0.265025\n",
|
|||
|
"山东省 0.265427\n",
|
|||
|
"浙江省 0.269908\n",
|
|||
|
"黑龙江省 0.272978\n",
|
|||
|
"Name: prediction, dtype: float64"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 76,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"data.groupby('地区')['prediction'].mean().sort_values()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 55,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"map_dict = data.groupby('地区')['机组容量'].mean().to_dict()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 56,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"text/plain": [
|
|||
|
"{'上海市': 379.20512820512783,\n",
|
|||
|
" '云南省': 278.30434782608654,\n",
|
|||
|
" '内蒙古自治区': 230.6120649651969,\n",
|
|||
|
" '吉林省': 135.31451612903209,\n",
|
|||
|
" '四川省': 185.37333333333314,\n",
|
|||
|
" '天津市': 253.24468085106344,\n",
|
|||
|
" '宁夏回族自治区': 279.0265486725658,\n",
|
|||
|
" '安徽省': 316.693939393939,\n",
|
|||
|
" '山东省': 125.49526066350698,\n",
|
|||
|
" '山西省': 263.3278985507243,\n",
|
|||
|
" '广东省': 387.3771428571424,\n",
|
|||
|
" '广西壮族自治区': 246.94999999999965,\n",
|
|||
|
" '新疆维吾尔自治区': 240.52545454545407,\n",
|
|||
|
" '江苏省': 198.3687817258881,\n",
|
|||
|
" '江西省': 270.88586956521675,\n",
|
|||
|
" '河北省': 225.52138248847896,\n",
|
|||
|
" '河南省': 286.94827586206867,\n",
|
|||
|
" '浙江省': 143.89827272727254,\n",
|
|||
|
" '海南省': 256.1538461538457,\n",
|
|||
|
" '湖北省': 315.7307692307689,\n",
|
|||
|
" '湖南省': 292.77333333333297,\n",
|
|||
|
" '甘肃省': 287.76923076923043,\n",
|
|||
|
" '福建省': 335.7640449438199,\n",
|
|||
|
" '贵州省': 359.5219780219774,\n",
|
|||
|
" '辽宁省': 176.5326203208554,\n",
|
|||
|
" '重庆市': 215.15079365079336,\n",
|
|||
|
" '陕西省': 260.96775862068927,\n",
|
|||
|
" '青海省': 122.01612903225785,\n",
|
|||
|
" '黑龙江省': 84.8353658536584}"
|
|||
|
]
|
|||
|
},
|
|||
|
"execution_count": 56,
|
|||
|
"metadata": {},
|
|||
|
"output_type": "execute_result"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"map_dict"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 57,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"from pyecharts.faker import Faker"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 63,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"map_co2 = map_dict = data.groupby('地区')['prediction'].mean().to_dict()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 68,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"# 需要引用的库\n",
|
|||
|
"from pyecharts import options as opts\n",
|
|||
|
"from pyecharts.charts import Map\n",
|
|||
|
"\n",
|
|||
|
"# 设置不同的系列,和系列中区域对应的数量值\n",
|
|||
|
"pair_data1 = [[x, float(y)] for x, y in zip(map_co2.keys(), map_co2.values())]\n",
|
|||
|
"\n",
|
|||
|
"def create_map():\n",
|
|||
|
" '''\n",
|
|||
|
" 作用:生成地图\n",
|
|||
|
" '''\n",
|
|||
|
" ( # 大小设置\n",
|
|||
|
" Map()\n",
|
|||
|
" .add(\n",
|
|||
|
" series_name=\"各地区机组平均碳排放强度\",\n",
|
|||
|
" data_pair=[[x[0], x[1]*1000] for x in pair_data1],\n",
|
|||
|
" maptype=\"china\"\n",
|
|||
|
" )\n",
|
|||
|
"\n",
|
|||
|
" # 全局配置项\n",
|
|||
|
" .set_global_opts(\n",
|
|||
|
" # 设置标题\n",
|
|||
|
" title_opts=opts.TitleOpts(title=\"各地区机组平均碳排放强度(单位:g/MJ)\", subtitle='港、澳、台、西藏数据暂缺'),\n",
|
|||
|
" # 设置标准显示\n",
|
|||
|
" visualmap_opts=opts.VisualMapOpts(max_=220, min_=280, is_piecewise=False)\n",
|
|||
|
" )\n",
|
|||
|
" # 系列配置项\n",
|
|||
|
" .set_series_opts(\n",
|
|||
|
" # 标签名称显示,默认为True\n",
|
|||
|
" label_opts=opts.LabelOpts(is_show=True, color=\"blue\")\n",
|
|||
|
" )\n",
|
|||
|
" # 生成本地html文件\n",
|
|||
|
" .render(\"co2.html\")\n",
|
|||
|
" )\n",
|
|||
|
"\n",
|
|||
|
"\n",
|
|||
|
"create_map()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 68,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {
|
|||
|
"collapsed": false,
|
|||
|
"jupyter": {
|
|||
|
"outputs_hidden": false
|
|||
|
},
|
|||
|
"pycharm": {
|
|||
|
"name": "#%%\n"
|
|||
|
}
|
|||
|
},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "Python 3 (ipykernel)",
|
|||
|
"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.7.13"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 4
|
|||
|
}
|