1
0
Fork 0
wgz_forecast/carbon/matrix2series.ipynb

232 lines
119 KiB
Plaintext
Raw Normal View History

2025-02-12 16:59:05 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.522951Z",
"end_time": "2025-02-09T20:52:57.531694Z"
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.526116Z",
"end_time": "2025-02-09T20:52:57.559094Z"
}
},
"outputs": [
{
"data": {
"text/plain": " MSN YYYYMM Value Column_Order \\\n0 CLEIEUS 197301 72.076 1 \n1 CLEIEUS 197302 64.442 1 \n2 CLEIEUS 197303 64.084 1 \n3 CLEIEUS 197304 60.842 1 \n4 CLEIEUS 197305 61.798 1 \n\n Description \\\n0 Coal Electric Power Sector CO2 Emissions \n1 Coal Electric Power Sector CO2 Emissions \n2 Coal Electric Power Sector CO2 Emissions \n3 Coal Electric Power Sector CO2 Emissions \n4 Coal Electric Power Sector CO2 Emissions \n\n Unit \n0 Million Metric Tons of Carbon Dioxide \n1 Million Metric Tons of Carbon Dioxide \n2 Million Metric Tons of Carbon Dioxide \n3 Million Metric Tons of Carbon Dioxide \n4 Million Metric Tons of Carbon Dioxide ",
"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>MSN</th>\n <th>YYYYMM</th>\n <th>Value</th>\n <th>Column_Order</th>\n <th>Description</th>\n <th>Unit</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>CLEIEUS</td>\n <td>197301</td>\n <td>72.076</td>\n <td>1</td>\n <td>Coal Electric Power Sector CO2 Emissions</td>\n <td>Million Metric Tons of Carbon Dioxide</td>\n </tr>\n <tr>\n <th>1</th>\n <td>CLEIEUS</td>\n <td>197302</td>\n <td>64.442</td>\n <td>1</td>\n <td>Coal Electric Power Sector CO2 Emissions</td>\n <td>Million Metric Tons of Carbon Dioxide</td>\n </tr>\n <tr>\n <th>2</th>\n <td>CLEIEUS</td>\n <td>197303</td>\n <td>64.084</td>\n <td>1</td>\n <td>Coal Electric Power Sector CO2 Emissions</td>\n <td>Million Metric Tons of Carbon Dioxide</td>\n </tr>\n <tr>\n <th>3</th>\n <td>CLEIEUS</td>\n <td>197304</td>\n <td>60.842</td>\n <td>1</td>\n <td>Coal Electric Power Sector CO2 Emissions</td>\n <td>Million Metric Tons of Carbon Dioxide</td>\n </tr>\n <tr>\n <th>4</th>\n <td>CLEIEUS</td>\n <td>197305</td>\n <td>61.798</td>\n <td>1</td>\n <td>Coal Electric Power Sector CO2 Emissions</td>\n <td>Million Metric Tons of Carbon Dioxide</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv('./data/carbon_original.csv')\n",
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.543394Z",
"end_time": "2025-02-09T20:52:57.559094Z"
}
},
"outputs": [],
"source": [
"use_data = data[data['MSN']=='CLEIEUS'].iloc[:,[2]]"
]
},
{
"cell_type": "code",
"execution_count": 66,
"outputs": [
{
"data": {
"text/plain": " Value\n0 72.076\n1 64.442\n2 64.084\n3 60.842\n4 61.798\n.. ...\n561 72.84\n562 71.41\n563 82.51\n564 115.772\n565 135.958\n\n[566 rows x 1 columns]",
"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>Value</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>72.076</td>\n </tr>\n <tr>\n <th>1</th>\n <td>64.442</td>\n </tr>\n <tr>\n <th>2</th>\n <td>64.084</td>\n </tr>\n <tr>\n <th>3</th>\n <td>60.842</td>\n </tr>\n <tr>\n <th>4</th>\n <td>61.798</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n </tr>\n <tr>\n <th>561</th>\n <td>72.84</td>\n </tr>\n <tr>\n <th>562</th>\n <td>71.41</td>\n </tr>\n <tr>\n <th>563</th>\n <td>82.51</td>\n </tr>\n <tr>\n <th>564</th>\n <td>115.772</td>\n </tr>\n <tr>\n <th>565</th>\n <td>135.958</td>\n </tr>\n </tbody>\n</table>\n<p>566 rows × 1 columns</p>\n</div>"
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"use_data"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.546122Z",
"end_time": "2025-02-09T20:52:57.559094Z"
}
}
},
{
"cell_type": "code",
"execution_count": 66,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.553791Z",
"end_time": "2025-02-09T20:52:57.559094Z"
}
}
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.556321Z",
"end_time": "2025-02-09T20:52:57.560093Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\liuhao\\AppData\\Local\\Temp\\ipykernel_17444\\217526566.py:2: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.\n",
" dates = pd.date_range(start='2022-01-01', periods=566, freq='H')\n"
]
}
],
"source": [
"# 生成日期范围484天\n",
"dates = pd.date_range(start='2022-01-01', periods=566, freq='H')\n",
"dates=pd.DataFrame(dates, columns=['date'])"
]
},
{
"cell_type": "code",
"execution_count": 68,
"outputs": [],
"source": [
"date_data=pd.concat([dates,use_data],axis=1)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.561164Z",
"end_time": "2025-02-09T20:52:57.565207Z"
}
}
},
{
"cell_type": "code",
"execution_count": 69,
"outputs": [],
"source": [
"# 将 'Value' 列转换为 float 类型\n",
"date_data['Value'] = date_data['Value'].astype(float)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.565207Z",
"end_time": "2025-02-09T20:52:57.569128Z"
}
}
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.569508Z",
"end_time": "2025-02-09T20:52:57.675345Z"
}
},
"outputs": [
{
"data": {
"text/plain": "<Figure size 1000x600 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1sAAAIjCAYAAAD1OgEdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOx9eZwU1bX/t2djk0WURSIiGkVF3NAgccMNZIwvRhOfS6JGEn0JZtGXxJ8vvrglQU3cYsxiXoyaYDRmMYkZlcENo6CCIiCCrCI7yDKsMz3T9fuj6e6q7p6Zvud7pm/PzPl+PtpVQ33PPXXr1q3zvefWrVgQBAEMBoPBYDAYDAaDwaCKMt8OGAwGg8FgMBgMBkNHhIktg8FgMBgMBoPBYGgDmNgyGAwGg8FgMBgMhjaAiS2DwWAwGAwGg8FgaAOY2DIYDAaDwWAwGAyGNoCJLYPBYDAYDAaDwWBoA5jYMhgMBoPBYDAYDIY2gIktg8FgMBgMBoPBYGgDmNgyGAwGg8FgMBgMhjaAiS2DwWBoBldeeSUOPPBA3254Qymffyn6tn37dnzlK1/BwIEDEYvF8O1vf9u3S95wyy23IBaLeSs/Fovhlltu8Va+wWAwpGBiy2AwdCrEYrGC/nv55Zd9u5oXy5cvx5e//GUcfPDB6Nq1KwYOHIhTTz0VN998s2/XVDBmzJjIdejbty9OOOEEPPzww0gkEipl/PjHP8bTTz+tYivb7iOPPIKvfe1r+P3vf48vfelLzR7b0NCA+++/H8ceeyx69eqFPn36YPjw4bj66quxYMECdd9KHS+//DIuuOACDBw4EFVVVejfvz/OO+88/PWvf/XtmsFgMFCo8O2AwWAwFBO///3vI/uPPfYYamtrc/5++OGH4ze/+Y1agK+BxYsX44QTTkC3bt1w1VVX4cADD8SaNWvw9ttv484778Stt96qWp6v899///0xadIkAMCGDRvw2GOPYcKECfjggw9wxx130PZ//OMf4/Of/zzOP/982lYYL774Ik488cSChO+FF16IZ599Fpdccgm++tWvIh6PY8GCBXjmmWfw6U9/Gocddpiqb6WMm2++GbfddhsOOeQQXHPNNRgyZAg+/vhj1NTU4MILL8TkyZNx6aWX+nbTYDAYRDCxZTAYOhW++MUvRvZnzJiB2tranL+XIu69915s374ds2fPxpAhQyL/tn79erVyduzYgR49eqCyslLNpgt69+4duR7XXHMNhg0bhp///Oe4/fbbvfnVGtavX48jjjii1ePeeustPPPMM/jRj36E//mf/4n8289//nNs2bKljTwsPfz5z3/Gbbfdhs9//vN4/PHHI9f2u9/9Lp5//nnE43GPHhoMBgMHm0ZoMBgMzSD7vaDly5cjFovhpz/9KR588EEcdNBB6N69O8aOHYuPPvoIQRDg9ttvx/77749u3brhs5/9LDZt2pRj99lnn8Upp5yCHj16oGfPnjj33HPx3nvvterPkiVLsP/+++cILQDo37+/qJwrr7wSe+21F5YsWYLq6mr07NkTl112Wd7zB4BEIoH77rsPw4cPR9euXTFgwABcc8012Lx5c+S4mTNnYty4cdh3333RrVs3DB06FFdddVWr55gP3bt3x4knnogdO3Zgw4YNzR63Y8cO/Pd//zcGDx6MLl26YNiwYfjpT3+KIAjSx8RiMezYsQOPPvpoeqrilVde2WL569evx4QJEzBgwAB07doVRx99NB599NH0v7/88suIxWJYtmwZ/vWvf6XtLl++PK+9JUuWAABOOumknH8rLy/HPvvsE/nbqlWrcNVVV2HAgAHo0qULhg8fjocffjiHu3v3btxyyy049NBD0bVrV+y333644IIL0uUVWkeperr22mvx9NNP48gjj0yX+9xzz+WU++9//xsnnHACunbtioMPPhi//vWvm6/MLPzv//4v+vbti4cffjiviB43bhw+85nPpPdbuxbNobl3/PK9W5Y696eeegpHHHEEunXrhtGjR2Pu3LkAgF//+tf45Cc/ia5du2LMmDE513nMmDE48sgjMX/+fJx++uno3r07PvGJT+Cuu+4qoEYMBkNHg2W2DAaDwRGTJ09GQ0MDvvGNb2DTpk246667cNFFF+GMM87Ayy+/jBtuuAGLFy/GAw88gO985zuRwPj3v/89rrjiCowbNw533nkndu7ciV/+8pc4+eST8c4777S46MOQIUMwdepUvPjiizjjjDNa9NGlnMbGRowbNw4nn3wyfvrTn6J79+7N2r3mmmvwyCOP4Mtf/jK++c1vYtmyZfj5z3+Od955B6+99hoqKyuxfv16jB07Fv369cP/+3//D3369MHy5cup92+WLl2K8vJy9OnTJ++/B0GA//iP/8BLL72ECRMm4JhjjsHzzz+P7373u1i1ahXuvffedL185Stfwac+9SlcffXVAICDDz642XJ37dqFMWPGYPHixbj22msxdOhQPPXUU7jyyiuxZcsWfOtb38Lhhx+O3//+97juuuuw//7747//+78BAP369ctrMyWWJ0+ejJNOOgkVFc0/itetW4cTTzwxLQD69euHZ599FhMmTEBdXV16EY6mpiZ85jOfwQsvvICLL74Y3/rWt7Bt2zbU1tZi3rx5OPjggwuuoxT+/e9/469//Su+/vWvo2fPnvjZz36GCy+8ECtWrEgLwrlz56av9S233ILGxkbcfPPNGDBgQLPnlMKiRYuwYMECXHXVVejZs2erxxdyLbTw6quv4h//+AcmTpwIAJg0aRI+85nP4Hvf+x5+8Ytf4Otf/zo2b96Mu+66C1dddRVefPHFCH/z5s0455xzcMEFF+Ciiy7Cn//8Z9xwww0YMWIExo8fr+anwWBoBwgMBoOhE2PixIlBc13hFVdcEQwZMiS9v2zZsgBA0K9fv2DLli3pv994440BgODoo48O4vF4+u+XXHJJUFVVFezevTsIgiDYtm1b0KdPn+CrX/1qpJy1a9cGvXv3zvl7NubNmxd069YtABAcc8wxwbe+9a3g6aefDnbs2BE5zqWcK664IgAQ/L//9/9aPf9XX301ABBMnjw5ctxzzz0X+fvf/va3AEDw1ltvtXg++XDaaacFhx12WLBhw4Zgw4YNwfvvvx9885vfDAAE5513XrO+Pf300wGA4Ic//GHE3uc///kgFosFixcvTv+tR48ewRVXXFGQP/fdd18AIPjDH/6Q/ltDQ0MwevToYK+99grq6urSfx8yZEhw7rnntmozkUgEp512WgAgGDBgQHDJJZcEDz74YPDhhx/mHDthwoRgv/32CzZu3Bj5+8UXXxz07t072LlzZxAEQfDwww8HAIJ77rknb3lB4FZHAIKqqqrI3959990AQPDAAw+k/3b++ecHXbt2jfg+f/78oLy8vNn7KoW///3vAYDg3nvvbfG4FFyuBYDg5ptvTu9nt5cUbr755hw/AQRdunQJli1blv7br3/96wBAMHDgwEg5qXs/fGzq2j722GPpv9XX1wcDBw4MLrzwwoLO1WAwdBzYNEKDwWBwxBe+8AX07t07vT9q1CgAyffBwlmKUaNGoaGhAatWrQIA1NbWYsuWLbjkkkuwcePG9H/l5eUYNWoUXnrppRbLHT58OGbPno0vfvGLWL58Oe6//36cf/75GDBgAH7zm9+kj5OU87Wvfa3V837qqafQu3dvnH322RG7I0eOxF577ZW2m8o+PfPMM6L3bRYsWIB+/fqhX79+OPzww/HAAw/g3HPPzTt1LoWamhqUl5fjm9/8ZuTv//3f/40gCPDss886+5GyO3DgQFxyySXpv1VWVuKb3/wmtm/fjldeecXZZiwWw/PPP48f/vCH2HvvvfHHP/4REydOxJAhQ/Cf//mf6Xe2giDAX/7yF5x33nkIgiBS5+PGjcPWrVvx9ttvAwD+8pe/YN9998U3vvGNvOWlzsWljs4666xI1u+oo45Cr169sHTpUgDJbNrzzz+P888/HwcccED6uMMPPxzjxo1rtR7q6uoAoKCsVsp/7WvRHM4888xI9jd1j1944YURf1N/T9VJCnvttVfkvcOqqip
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 绘制第二列的图像\n",
"plt.figure(figsize=(10, 6))\n",
"plt.plot(date_data.index, date_data['Value'], label='Value')\n",
"plt.xlabel('Date')\n",
"plt.ylabel('Value')\n",
"plt.title('Time Series Plot of Second Column')\n",
"plt.legend()\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.666305Z",
"end_time": "2025-02-09T20:52:57.675345Z"
}
},
"outputs": [],
"source": [
"date_data.to_csv('data/carbon_data_hourly.csv', index=False, encoding='utf-8-sig')"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"ExecuteTime": {
"start_time": "2025-02-09T20:52:57.670401Z",
"end_time": "2025-02-09T20:52:57.675898Z"
}
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "py39",
"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.9.21"
}
},
"nbformat": 4,
"nbformat_minor": 2
}