{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"outputs": [],
"source": [
"import pandas as pd"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [],
"source": [
"import numpy as np\n",
"import time"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"$E = E_{燃烧} + E_{脱硫} + E_{电}$ \\\n",
"$E_{燃烧} = \\sum_i (AD_i\\times EF_i)$ \\\n",
"$AD_i = FC_i \\times NCV_i \\times 10^{-6}$ 消耗量*低位热值\n",
"$EF_i = CC_i \\times OF_i \\times \\frac{44}{12}$ 单位热值含碳量 * 碳氧化率"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"def cal_ad(fc, ncv):\n",
" return fc * ncv * 1e-6"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"def cal_ef(cc, of):\n",
" return cc * of * 44 / 12"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [],
"source": [
"cc_map = {\n",
" \"无烟煤\": 27.49,\n",
" \"烟煤\": 26.18,\n",
" \"褐煤\": 27.97,\n",
" \"贫煤\": 26.0,\n",
"}"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 6,
"outputs": [],
"source": [
"data = pd.read_excel('./total_data.xlsx')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [],
"source": [
"data['入炉煤低位热值(kJ/kg)'] = data['入炉煤低位热值(kJ/kg)'].apply(lambda x: x*1000 if x < 100 else x*1)\n",
"data['燃煤灰份Aar(%)'] = data['燃煤灰份Aar(%)'].apply(lambda x: x / 1000 if x > 10000 else x*1)\n",
"data['燃煤挥发份Var(%)'] = data['燃煤挥发份Var(%)'].apply(lambda x: x / 1000 if x > 10000 else x*1)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [],
"source": [
"def cal_ctype(ncv, vdaf, ash):\n",
" if pd.isna(ncv) or pd.isna(vdaf) or pd.isna(ash):\n",
" return pd.NA\n",
" else:\n",
" if vdaf / (1 - ash/100 - 0.07196) < 10:\n",
" return '无烟煤'\n",
" elif vdaf / (1 - ash/100 - 0.06825) < 20:\n",
" return '贫煤'\n",
" elif vdaf / (1 - ash/100 - 0.08679) < 37 and ncv > 16730:\n",
" return '烟煤'\n",
" elif ncv < 16730:\n",
" return '褐煤'\n",
" else:\n",
" return '烟煤'"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [],
"source": [
"data['煤种'] = data.apply(lambda x: cal_ctype(x['入炉煤低位热值(kJ/kg)'], x['燃煤挥发份Var(%)'], x['燃煤灰份Aar(%)']), axis=1)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [],
"source": [
"data = data[~data['煤种'].isna()].copy()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [],
"source": [
"data = data[data['入炉煤低位热值(kJ/kg)']> 8000].copy()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [],
"source": [
"data = data[~((data['发电用标煤量(t)'].isna())|(data['发电用标煤量(t)']==0))].copy()\n",
"data = data[~((data['发电用标煤量(t)'].isna())|(data['发电用标煤量(t)']==0))].copy()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"data": {
"text/plain": "['出力系数(%).1', '出力系数(%).2', '化学系统耗电率 (%).1', '额再热蒸汽温度 (℃).1']"
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"drop_cols = [x for x in data.columns if '.1' in x or '.2' in x]\n",
"drop_cols"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [],
"source": [
"data.drop(columns=drop_cols, inplace=True)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 15,
"outputs": [],
"source": [
"data['工业供热量'].fillna(0, inplace=True)\n",
"data['采暖供热量'].fillna(0, inplace=True)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 16,
"outputs": [
{
"data": {
"text/plain": "array([ 56, 96, 122, ..., 16724, 16725, 16837], dtype=int64)"
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"drop_index = data[(data['发电量(万kWh)']<10000)|(data['总供热量']<=10000)|(data['供热用标煤量(t)']==0)].index.values\n",
"drop_index"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [],
"source": [
"data.drop(index=drop_index, inplace=True)\n",
"data.reset_index(inplace=True, drop=True)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 18,
"outputs": [],
"source": [
"data['发电碳排放因子(kg/kWh)'] = data.apply(lambda x: (cal_ad(x['发电用标煤量(t)'], x['入炉煤低位热值(kJ/kg)']) * cal_ef(cc_map.get(x['煤种']), 0.98))/x['发电量(万kWh)']/10, axis=1)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 19,
"outputs": [],
"source": [
"data['供热碳排放因子(kg/MJ)'] = data.apply(lambda x:(cal_ad(x['供热用标煤量(t)'], x['入炉煤低位热值(kJ/kg)']) * cal_ef(cc_map.get(x['煤种']), 0.98))/x['总供热量'] if x['总供热量'] != 0 else 0, axis=1)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 20,
"outputs": [
{
"data": {
"text/plain": " 总供热量 供热碳排放因子(kg/MJ)\n0 8.294556e+05 0.076843\n1 8.789928e+04 0.077676\n2 8.481764e+05 0.074823\n3 4.473469e+05 0.081628\n4 7.157164e+05 0.081103\n... ... ...\n7252 1.532303e+06 0.078776\n7253 2.147545e+06 0.076622\n7254 2.131207e+06 0.074772\n7255 3.039811e+06 0.091482\n7256 3.039813e+06 0.091483\n\n[7257 rows x 2 columns]",
"text/html": "
\n\n
\n \n \n | \n 总供热量 | \n 供热碳排放因子(kg/MJ) | \n
\n \n \n \n 0 | \n 8.294556e+05 | \n 0.076843 | \n
\n \n 1 | \n 8.789928e+04 | \n 0.077676 | \n
\n \n 2 | \n 8.481764e+05 | \n 0.074823 | \n
\n \n 3 | \n 4.473469e+05 | \n 0.081628 | \n
\n \n 4 | \n 7.157164e+05 | \n 0.081103 | \n
\n \n ... | \n ... | \n ... | \n
\n \n 7252 | \n 1.532303e+06 | \n 0.078776 | \n
\n \n 7253 | \n 2.147545e+06 | \n 0.076622 | \n
\n \n 7254 | \n 2.131207e+06 | \n 0.074772 | \n
\n \n 7255 | \n 3.039811e+06 | \n 0.091482 | \n
\n \n 7256 | \n 3.039813e+06 | \n 0.091483 | \n
\n \n
\n
7257 rows × 2 columns
\n
"
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[['总供热量', '供热碳排放因子(kg/MJ)']]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 21,
"outputs": [
{
"data": {
"text/plain": "126 0.460130\n127 0.480800\n128 0.493493\n129 0.487034\n130 0.475439\n131 0.481355\n132 0.450568\n133 0.454952\n134 0.460595\n135 0.478949\n136 0.486923\n137 0.483407\n138 0.488134\n139 0.471598\n140 0.450577\n141 0.461044\nName: 发电碳排放因子(kg/kWh), dtype: float64"
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[data['电厂名称']=='华电内蒙古能源有限公司包头发电分公司']['发电碳排放因子(kg/kWh)']"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 22,
"outputs": [
{
"data": {
"text/plain": " plant longitude latitude altitude\n0 万方发电厂(焦作爱依斯万方电力有限公司) 113.381649 35.255622 88.0\n1 三河发电有限责任公司 116.860260 39.953617 27.0\n2 上海上电漕泾发电有限公司 121.407593 30.765242 4.0\n3 上海吴泾发电有限责任公司 121.471140 31.065113 3.0\n4 上海吴泾第二发电有限责任公司 121.471340 31.062532 4.0",
"text/html": "\n\n
\n \n \n | \n plant | \n longitude | \n latitude | \n altitude | \n
\n \n \n \n 0 | \n 万方发电厂(焦作爱依斯万方电力有限公司) | \n 113.381649 | \n 35.255622 | \n 88.0 | \n
\n \n 1 | \n 三河发电有限责任公司 | \n 116.860260 | \n 39.953617 | \n 27.0 | \n
\n \n 2 | \n 上海上电漕泾发电有限公司 | \n 121.407593 | \n 30.765242 | \n 4.0 | \n
\n \n 3 | \n 上海吴泾发电有限责任公司 | \n 121.471140 | \n 31.065113 | \n 3.0 | \n
\n \n 4 | \n 上海吴泾第二发电有限责任公司 | \n 121.471340 | \n 31.062532 | \n 4.0 | \n
\n \n
\n
"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"loc_data = pd.read_csv('./电厂机组地理信息.csv')\n",
"loc_data.head()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 23,
"outputs": [],
"source": [
"loc_data.rename(columns={'plant':'电厂名称'}, inplace=True)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 24,
"outputs": [],
"source": [
"data = data.merge(loc_data, how='left', on='电厂名称')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 25,
"outputs": [
{
"data": {
"text/plain": "Index(['发电碳排放因子(kg/kWh)', '供热碳排放因子(kg/MJ)', 'longitude', 'latitude',\n 'altitude'],\n dtype='object')"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.columns[-5:]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 26,
"outputs": [],
"source": [
"uni = data.groupby(['电厂名称', '机组编号'])['铭牌容量 (MW)'].unique().to_frame()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 27,
"outputs": [],
"source": [
"uni['len'] = uni['铭牌容量 (MW)'].apply(len)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 28,
"outputs": [
{
"data": {
"text/plain": "Empty DataFrame\nColumns: [铭牌容量 (MW), len]\nIndex: []",
"text/html": "\n\n
\n \n \n | \n | \n 铭牌容量 (MW) | \n len | \n
\n \n 电厂名称 | \n 机组编号 | \n | \n | \n
\n \n \n \n
\n
"
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uni[uni.len==2]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 29,
"outputs": [],
"source": [
"data = data[data['供热碳排放因子(kg/MJ)'] < 0.2].copy()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 30,
"outputs": [],
"source": [
"import seaborn as sns"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 31,
"outputs": [],
"source": [
"from scipy.stats import norm"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 32,
"outputs": [
{
"data": {
"text/plain": "Empty DataFrame\nColumns: [电厂名称, 机组编号, 铭牌容量 (MW), 投产时间, 机组类型, 参数分类, 所处地区, 冷凝器型式, 时间, 发电量(万kWh), 供电量(万kWh), 标煤量(t), 发电用标煤量(t), 供热用标煤量(t), 利用小时(h), 平均负荷(MW), 出力系数(%), 工业供热量, 工业热电比(%), 采暖供热量, 采暖热电比(%), 总热电比(%), 总供热量, 供热煤耗, 给水泵汽轮机总耗热量, 供电煤耗gce/(kWh), 综合厂用电率(%), 发电厂用电率(%), 供热厂用电率(%), 非生产厂用电率(%), 最新THA工况二类修正后汽机热耗率kJ/KWh, 点火用油(kg/万kWh), 助燃用油(kg/万kWh), 主蒸汽压力(MPa), 主蒸汽温度(℃), 再热蒸汽温度(℃), 高加投入率(%), 给水温度(℃), 真空严密性V(Pa/min), 真空度(%), 凝汽器端差(℃), 凝结水过冷度(℃), 发电补给水率(%), 发电综合耗水率, 排烟温度(℃), 飞灰含碳量(%), 空预器漏风率(%), 过热器减温水量(t/h), 再热器减温水量(t/h), 入厂煤低位热值(kJ/kg), 入炉煤低位热值(kJ/kg), 燃煤挥发份Var(%), 燃煤灰份Aar(%), 燃煤低位热值Qar,net(kJ/kg), 燃煤硫份Sar(%), 锅炉专业主要辅机耗电率 送风机耗电率(%), 锅炉专业主要辅机耗电率 引风机耗电率(%), 锅炉专业主要辅机耗电率 一次风机耗电率(%), 锅炉专业主要辅机耗电率 炉水泵耗电率(%), 锅炉专业主要辅机耗电率 给煤机耗电率(%), 锅炉专业主要辅机耗电率 磨煤机耗电率(%), 锅炉专业主要辅机耗电率 电除尘器耗电率(%), 锅炉专业主要辅机耗电率 除灰系统耗电率(%), 汽机专业主要辅机耗电率 凝结水泵耗电率(%), 汽机专业主要辅机耗电率 前置泵耗电率(%), 汽机专业主要辅机耗电率 电动给水泵耗电率(%), 汽机专业主要辅机耗电率 循环水泵耗电率(%), 汽机专业主要辅机耗电率 空冷风机耗电率(%), 汽机专业主要辅机耗电率 热网循环水泵耗电率(%), 环保专业耗电率 脱硫系统耗电率(%), 环保专业耗电率 脱销系统耗电率(%), 输煤专业耗电率输煤系统耗电率(%), 化学系统耗电率 (%), 企业编码, 简称, 制造厂家, 型号, 型式, 最大连续出力B-MCR(t/h), 设计效率(%), 工质流动方式, 额定主蒸汽压力 (MPa), 额再热蒸汽温度 (℃), 额定再热蒸汽压力 (MPa), 额再热蒸汽温度 (℃), 点火方式, 燃烧方式, 设计燃煤种类, 设计燃煤灰份(收到基)(%), 设计燃煤挥发份)(收到基)(%), 设计燃煤低位热值(收到基)(kJ/kg), 排渣方式, 除灰方式, 空预器制造厂家, 空预器型号, 空预器型式, 空预器设计漏风率(%), 磨煤机制造厂家, 磨煤机型号, 磨煤机型式, ...]\nIndex: []\n\n[0 rows x 134 columns]",
"text/html": "\n\n
\n \n \n | \n 电厂名称 | \n 机组编号 | \n 铭牌容量 (MW) | \n 投产时间 | \n 机组类型 | \n 参数分类 | \n 所处地区 | \n 冷凝器型式 | \n 时间 | \n 发电量(万kWh) | \n ... | \n 引风机最大风压(Pa) | \n 引风机最大流量(m3/S) | \n 引风机电机电压(V) | \n 引风机电机功率(KW) | \n 煤种 | \n 发电碳排放因子(kg/kWh) | \n 供热碳排放因子(kg/MJ) | \n longitude | \n latitude | \n altitude | \n
\n \n \n \n
\n
0 rows × 134 columns
\n
"
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[data['供热碳排放因子(kg/MJ)'] <= 0]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 33,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\ipykernel_launcher.py:1: UserWarning: \n",
"\n",
"`distplot` is a deprecated function and will be removed in seaborn v0.14.0.\n",
"\n",
"Please adapt your code to use either `displot` (a figure-level function with\n",
"similar flexibility) or `histplot` (an axes-level function for histograms).\n",
"\n",
"For a guide to updating your code to use the new functions, please see\n",
"https://gist.github.com/mwaskom/de44147ed2974457ad6372750bbe5751\n",
"\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"data": {
"text/plain": ""
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 20379 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 28909 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 30899 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 25490 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 25918 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 22240 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:214: RuntimeWarning: Glyph 23376 missing from current font.\n",
" font.set_text(s, 0.0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 20379 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 28909 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 30899 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 25490 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 25918 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 22240 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n",
"D:\\miniconda3\\envs\\py37\\lib\\site-packages\\matplotlib\\backends\\backend_agg.py:183: RuntimeWarning: Glyph 23376 missing from current font.\n",
" font.set_text(s, 0, flags=flags)\n"
]
},
{
"data": {
"text/plain": "",
"image/png": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(data['供热碳排放因子(kg/MJ)'], fit=norm)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 34,
"outputs": [],
"source": [
"data[['电厂名称', '机组编号', '铭牌容量 (MW)', '机组类型', '参数分类', '冷凝器型式', '入炉煤低位热值(kJ/kg)', '燃煤挥发份Var(%)', '燃煤灰份Aar(%)', '煤种', '所处地区', 'longitude', 'latitude', 'altitude','发电碳排放因子(kg/kWh)', '供热碳排放因子(kg/MJ)']].to_csv('./train_data.csv', index=False, encoding='utf-8-sig')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"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": 0
}