coal_materials/旧数据建模.ipynb

762 lines
23 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "e2fb2c7b-89ca-4e2b-aa44-19403cef590a",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f47b0afa-9e2d-4f2d-a51b-6e2071ffd08a",
"metadata": {},
"outputs": [],
"source": [
"old_data = pd.read_excel('./data/煤质碳材料数据.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "77fa919c-d186-4079-a7b1-70842c97c3ec",
"metadata": {},
"outputs": [],
"source": [
"nature_data = pd.read_excel('./data/nature.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "38a1f29b-06e1-47a4-8839-e37568bac6cf",
"metadata": {
"tags": []
},
"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>分析水Mad</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>升温速率(℃/min)</th>\n",
" <th>保温时间(h)</th>\n",
" <th>KOH</th>\n",
" <th>K2CO3</th>\n",
" <th>BET比表面积m2/g</th>\n",
" <th>孔体积cm3/g)</th>\n",
" <th>微孔体积cm3/g)</th>\n",
" <th>介孔体积cm3/g)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>中级烟煤</td>\n",
" <td>2.12</td>\n",
" <td>8.49</td>\n",
" <td>37.14</td>\n",
" <td>86.20</td>\n",
" <td>5.42</td>\n",
" <td>1.60</td>\n",
" <td>0.00</td>\n",
" <td>6.78</td>\n",
" <td>1100.0</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>296.0</td>\n",
" <td>0.270</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>萃取中级烟煤</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>75.11</td>\n",
" <td>4.73</td>\n",
" <td>1.38</td>\n",
" <td>0.00</td>\n",
" <td>18.78</td>\n",
" <td>1100.0</td>\n",
" <td>2.0</td>\n",
" <td>2.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>316.0</td>\n",
" <td>0.481</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>褐煤</td>\n",
" <td>14.91</td>\n",
" <td>4.35</td>\n",
" <td>48.42</td>\n",
" <td>67.76</td>\n",
" <td>4.57</td>\n",
" <td>1.29</td>\n",
" <td>3.56</td>\n",
" <td>22.82</td>\n",
" <td>650.0</td>\n",
" <td>10.0</td>\n",
" <td>0.5</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>665.0</td>\n",
" <td>0.356</td>\n",
" <td>0.289</td>\n",
" <td>0.067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>褐煤</td>\n",
" <td>14.91</td>\n",
" <td>4.35</td>\n",
" <td>48.42</td>\n",
" <td>67.76</td>\n",
" <td>4.57</td>\n",
" <td>1.29</td>\n",
" <td>3.56</td>\n",
" <td>22.82</td>\n",
" <td>650.0</td>\n",
" <td>10.0</td>\n",
" <td>0.5</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1221.0</td>\n",
" <td>0.608</td>\n",
" <td>0.482</td>\n",
" <td>0.126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>褐煤</td>\n",
" <td>14.91</td>\n",
" <td>4.35</td>\n",
" <td>48.42</td>\n",
" <td>67.76</td>\n",
" <td>4.57</td>\n",
" <td>1.29</td>\n",
" <td>3.56</td>\n",
" <td>22.82</td>\n",
" <td>650.0</td>\n",
" <td>10.0</td>\n",
" <td>0.5</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2609.0</td>\n",
" <td>1.438</td>\n",
" <td>0.670</td>\n",
" <td>0.768</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",
" </tr>\n",
" <tr>\n",
" <th>66</th>\n",
" <td>67</td>\n",
" <td>无烟煤</td>\n",
" <td>0.81</td>\n",
" <td>4.15</td>\n",
" <td>9.77</td>\n",
" <td>91.59</td>\n",
" <td>3.96</td>\n",
" <td>1.76</td>\n",
" <td>0.21</td>\n",
" <td>2.48</td>\n",
" <td>800.0</td>\n",
" <td>5.0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3142.0</td>\n",
" <td>1.608</td>\n",
" <td>1.204</td>\n",
" <td>0.404</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>68</td>\n",
" <td>无烟煤</td>\n",
" <td>0.81</td>\n",
" <td>4.15</td>\n",
" <td>9.77</td>\n",
" <td>91.59</td>\n",
" <td>3.96</td>\n",
" <td>1.76</td>\n",
" <td>0.21</td>\n",
" <td>2.48</td>\n",
" <td>800.0</td>\n",
" <td>5.0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3389.0</td>\n",
" <td>2.041</td>\n",
" <td>1.022</td>\n",
" <td>1.019</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>69</td>\n",
" <td>无烟煤</td>\n",
" <td>0.88</td>\n",
" <td>8.42</td>\n",
" <td>8.83</td>\n",
" <td>91.69</td>\n",
" <td>2.31</td>\n",
" <td>2.04</td>\n",
" <td>0.00</td>\n",
" <td>3.96</td>\n",
" <td>700.0</td>\n",
" <td>5.0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2542.0</td>\n",
" <td>1.135</td>\n",
" <td>0.916</td>\n",
" <td>0.219</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>70</td>\n",
" <td>无烟煤</td>\n",
" <td>0.88</td>\n",
" <td>8.42</td>\n",
" <td>8.83</td>\n",
" <td>91.69</td>\n",
" <td>2.31</td>\n",
" <td>2.04</td>\n",
" <td>0.00</td>\n",
" <td>3.96</td>\n",
" <td>800.0</td>\n",
" <td>5.0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2665.0</td>\n",
" <td>1.219</td>\n",
" <td>0.947</td>\n",
" <td>0.272</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>71</td>\n",
" <td>无烟煤</td>\n",
" <td>0.88</td>\n",
" <td>8.42</td>\n",
" <td>8.83</td>\n",
" <td>91.69</td>\n",
" <td>2.31</td>\n",
" <td>2.04</td>\n",
" <td>0.00</td>\n",
" <td>3.96</td>\n",
" <td>900.0</td>\n",
" <td>5.0</td>\n",
" <td>1.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2947.0</td>\n",
" <td>1.473</td>\n",
" <td>0.718</td>\n",
" <td>0.755</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>71 rows × 19 columns</p>\n",
"</div>"
],
"text/plain": [
" 编号 煤种 分析水Mad 灰分 挥发分 碳 氢 氮 硫 氧 碳化温度(℃) \\\n",
"0 1 中级烟煤 2.12 8.49 37.14 86.20 5.42 1.60 0.00 6.78 1100.0 \n",
"1 2 萃取中级烟煤 NaN NaN NaN 75.11 4.73 1.38 0.00 18.78 1100.0 \n",
"2 3 褐煤 14.91 4.35 48.42 67.76 4.57 1.29 3.56 22.82 650.0 \n",
"3 4 褐煤 14.91 4.35 48.42 67.76 4.57 1.29 3.56 22.82 650.0 \n",
"4 5 褐煤 14.91 4.35 48.42 67.76 4.57 1.29 3.56 22.82 650.0 \n",
".. .. ... ... ... ... ... ... ... ... ... ... \n",
"66 67 无烟煤 0.81 4.15 9.77 91.59 3.96 1.76 0.21 2.48 800.0 \n",
"67 68 无烟煤 0.81 4.15 9.77 91.59 3.96 1.76 0.21 2.48 800.0 \n",
"68 69 无烟煤 0.88 8.42 8.83 91.69 2.31 2.04 0.00 3.96 700.0 \n",
"69 70 无烟煤 0.88 8.42 8.83 91.69 2.31 2.04 0.00 3.96 800.0 \n",
"70 71 无烟煤 0.88 8.42 8.83 91.69 2.31 2.04 0.00 3.96 900.0 \n",
"\n",
" 升温速率(℃/min) 保温时间(h) KOH K2CO3 BET比表面积m2/g 孔体积cm3/g) 微孔体积cm3/g) \\\n",
"0 2.0 2.0 0 0 296.0 0.270 NaN \n",
"1 2.0 2.0 0 0 316.0 0.481 NaN \n",
"2 10.0 0.5 1 0 665.0 0.356 0.289 \n",
"3 10.0 0.5 1 0 1221.0 0.608 0.482 \n",
"4 10.0 0.5 1 0 2609.0 1.438 0.670 \n",
".. ... ... ... ... ... ... ... \n",
"66 5.0 1.0 1 0 3142.0 1.608 1.204 \n",
"67 5.0 1.0 1 0 3389.0 2.041 1.022 \n",
"68 5.0 1.0 1 0 2542.0 1.135 0.916 \n",
"69 5.0 1.0 1 0 2665.0 1.219 0.947 \n",
"70 5.0 1.0 1 0 2947.0 1.473 0.718 \n",
"\n",
" 介孔体积cm3/g) \n",
"0 NaN \n",
"1 NaN \n",
"2 0.067 \n",
"3 0.126 \n",
"4 0.768 \n",
".. ... \n",
"66 0.404 \n",
"67 1.019 \n",
"68 0.219 \n",
"69 0.272 \n",
"70 0.755 \n",
"\n",
"[71 rows x 19 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"old_data"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ff938db8-3824-4f9b-8a0f-ae12559fbfbb",
"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>Csp(F/g)</th>\n",
" <th>electrolyte</th>\n",
" <th>υ(mV/s)</th>\n",
" <th>SAmicro(m2/g)</th>\n",
" <th>SAmeso(m2/g)</th>\n",
" <th>O</th>\n",
" <th>N</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00</td>\n",
" <td>6MKOH</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.00</td>\n",
" <td>6MKOH</td>\n",
" <td>300</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.00</td>\n",
" <td>6MKOH</td>\n",
" <td>500</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.00</td>\n",
" <td>6MKOH</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>17.00</td>\n",
" <td>15.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.00</td>\n",
" <td>6MKOH</td>\n",
" <td>300</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>17.00</td>\n",
" <td>15.60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>283</th>\n",
" <td>218.17</td>\n",
" <td>1MH2SO4</td>\n",
" <td>150</td>\n",
" <td>1691</td>\n",
" <td>258</td>\n",
" <td>16.45</td>\n",
" <td>3.31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>284</th>\n",
" <td>198.38</td>\n",
" <td>1MH2SO4</td>\n",
" <td>200</td>\n",
" <td>1691</td>\n",
" <td>258</td>\n",
" <td>16.45</td>\n",
" <td>3.31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>285</th>\n",
" <td>171.19</td>\n",
" <td>1MH2SO4</td>\n",
" <td>300</td>\n",
" <td>1691</td>\n",
" <td>258</td>\n",
" <td>16.45</td>\n",
" <td>3.31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>286</th>\n",
" <td>152.27</td>\n",
" <td>1MH2SO4</td>\n",
" <td>400</td>\n",
" <td>1691</td>\n",
" <td>258</td>\n",
" <td>16.45</td>\n",
" <td>3.31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>287</th>\n",
" <td>137.40</td>\n",
" <td>1MH2SO4</td>\n",
" <td>500</td>\n",
" <td>1691</td>\n",
" <td>258</td>\n",
" <td>16.45</td>\n",
" <td>3.31</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>288 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" Csp(F/g) electrolyte υ(mV/s) SAmicro(m2/g) SAmeso(m2/g) O N\n",
"0 0.00 6MKOH 1 0 0 0.00 0.00\n",
"1 0.00 6MKOH 300 0 0 0.00 0.00\n",
"2 0.00 6MKOH 500 0 0 0.00 0.00\n",
"3 0.00 6MKOH 1 0 0 17.00 15.60\n",
"4 0.00 6MKOH 300 0 0 17.00 15.60\n",
".. ... ... ... ... ... ... ...\n",
"283 218.17 1MH2SO4 150 1691 258 16.45 3.31\n",
"284 198.38 1MH2SO4 200 1691 258 16.45 3.31\n",
"285 171.19 1MH2SO4 300 1691 258 16.45 3.31\n",
"286 152.27 1MH2SO4 400 1691 258 16.45 3.31\n",
"287 137.40 1MH2SO4 500 1691 258 16.45 3.31\n",
"\n",
"[288 rows x 7 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nature_data"
]
},
{
"cell_type": "markdown",
"id": "11ae5919-681c-4667-8c8f-bf71cde0f036",
"metadata": {},
"source": [
"基于微孔介孔推一下CHS"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "435c980c-251f-42d5-883c-233d083df3a3",
"metadata": {},
"outputs": [],
"source": [
"fea_cols = ['微孔体积cm3/g)', '介孔体积cm3/g)', '氧', '氮']"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c787ae5c-db4a-4424-ac97-fafdd60a0b5c",
"metadata": {},
"outputs": [],
"source": [
"out_cols = ['碳', '氢', '硫']"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "361dce5d-3d08-4c7b-9bcf-9823a75b1f9e",
"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>O</th>\n",
" <th>N</th>\n",
" <th>SAmicro(m2/g)</th>\n",
" <th>SAmeso(m2/g)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>17.00</td>\n",
" <td>15.60</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>8.50</td>\n",
" <td>7.80</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>120</td>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>107</td>\n",
" <td>315</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>6.25</td>\n",
" <td>9.57</td>\n",
" <td>640</td>\n",
" <td>184</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>8.49</td>\n",
" <td>5.38</td>\n",
" <td>563</td>\n",
" <td>120</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>7.84</td>\n",
" <td>7.02</td>\n",
" <td>680</td>\n",
" <td>641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>164</th>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0</td>\n",
" <td>1082</td>\n",
" </tr>\n",
" <tr>\n",
" <th>165</th>\n",
" <td>14.97</td>\n",
" <td>0.00</td>\n",
" <td>1590</td>\n",
" <td>1030</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>63 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" O N SAmicro(m2/g) SAmeso(m2/g)\n",
"0 0.00 0.00 0 0\n",
"3 17.00 15.60 0 0\n",
"6 8.50 7.80 0 0\n",
"9 0.00 0.00 120 216\n",
"13 0.00 0.00 107 315\n",
".. ... ... ... ...\n",
"159 6.25 9.57 640 184\n",
"160 8.49 5.38 563 120\n",
"161 7.84 7.02 680 641\n",
"164 0.00 0.00 0 1082\n",
"165 14.97 0.00 1590 1030\n",
"\n",
"[63 rows x 4 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nature_data[nature_data.electrolyte=='6MKOH'][['O', 'N', 'SAmicro(m2/g)', 'SAmeso(m2/g)']].drop_duplicates()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "101dba3e-4029-4d53-b64a-89c5a90f3471",
"metadata": {},
"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.8.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}