MAE_ATMO/未命名1.ipynb

426 lines
42 KiB
Plaintext
Raw Normal View History

2024-11-21 14:02:33 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "b22d5573-7d43-47f4-83ab-dcbc2772136a",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "b5474ec4-e68f-428d-a1f5-446055c07a16",
"metadata": {},
"outputs": [],
"source": [
"rst_mix = pd.read_csv('./mix_eva.csv')\n",
"rst_mix.index = [10, 20, 30, 40]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9790e6fc-1cdb-4376-a63a-3f2eb7f2e555",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "17916ba4-aab6-43f1-b97f-be7f44d068a4",
"metadata": {},
"outputs": [],
"source": [
"colors = [(211, 65, 51), (240, 155, 39), (25, 152, 128)]\n",
"rgb_colors = [tuple(c/255 for c in color) for color in colors]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "68df39d6-c0f8-4fe8-9d49-6ce3ca8d6682",
"metadata": {},
"outputs": [],
"source": [
"# 设置字体为Times new Roman\n",
"plt.rcParams['font.sans-serif'] = ['Times New Roman']"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "bb9d01de-c270-4578-b358-66366857da0b",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 1600x900 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(16, 9))\n",
"rst_mix.plot.bar(color=rgb_colors, width=0.75)\n",
"plt.xlabel('Missing Rate(%)', fontsize=14)\n",
"plt.ylabel('Sample Counts', fontsize=14)\n",
"plt.xticks(rotation=-45, fontsize=14)\n",
"plt.yticks(fontsize=14)\n",
"plt.tight_layout()\n",
"plt.legend(loc='best', fontsize=16)\n",
"plt.savefig('./miss_counts.png')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "ed3eca73-9607-4c32-af5a-918b07f5abfe",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib as mpl"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "f3e6fbc9-97bd-4bb5-9cfa-7bb86fd8c59b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/root/.cache/matplotlib'"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mpl.get_cachedir()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e0a6c359-293e-40ab-842b-9eecd2b7d29f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 44,
"id": "5b1001ae-d846-4841-bd0c-0af673103e62",
"metadata": {},
"outputs": [],
"source": [
"draw_data = pd.read_csv('./data_count.csv')"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "fe12a6da-ad4d-45b8-9d66-96398e98e6b9",
"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>month</th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2022-01</td>\n",
" <td>31.0</td>\n",
" <td>0.375894</td>\n",
" <td>0.278728</td>\n",
" <td>0.024402</td>\n",
" <td>0.153636</td>\n",
" <td>0.311435</td>\n",
" <td>0.541388</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2022-02</td>\n",
" <td>27.0</td>\n",
" <td>0.223323</td>\n",
" <td>0.247666</td>\n",
" <td>0.000000</td>\n",
" <td>0.031531</td>\n",
" <td>0.110574</td>\n",
" <td>0.359928</td>\n",
" <td>0.904019</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2022-03</td>\n",
" <td>31.0</td>\n",
" <td>0.346938</td>\n",
" <td>0.326758</td>\n",
" <td>0.000000</td>\n",
" <td>0.055048</td>\n",
" <td>0.280622</td>\n",
" <td>0.582225</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2022-04</td>\n",
" <td>30.0</td>\n",
" <td>0.241667</td>\n",
" <td>0.255629</td>\n",
" <td>0.000526</td>\n",
" <td>0.031316</td>\n",
" <td>0.118349</td>\n",
" <td>0.402727</td>\n",
" <td>0.823110</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2022-05</td>\n",
" <td>31.0</td>\n",
" <td>0.261153</td>\n",
" <td>0.291343</td>\n",
" <td>0.000000</td>\n",
" <td>0.042153</td>\n",
" <td>0.099043</td>\n",
" <td>0.377679</td>\n",
" <td>0.899809</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2022-06</td>\n",
" <td>30.0</td>\n",
" <td>0.307410</td>\n",
" <td>0.249777</td>\n",
" <td>0.025933</td>\n",
" <td>0.097787</td>\n",
" <td>0.216268</td>\n",
" <td>0.538828</td>\n",
" <td>0.885215</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2022-07</td>\n",
" <td>31.0</td>\n",
" <td>0.471889</td>\n",
" <td>0.258072</td>\n",
" <td>0.004402</td>\n",
" <td>0.286459</td>\n",
" <td>0.502584</td>\n",
" <td>0.638947</td>\n",
" <td>0.914545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2022-08</td>\n",
" <td>31.0</td>\n",
" <td>0.411485</td>\n",
" <td>0.286403</td>\n",
" <td>0.009043</td>\n",
" <td>0.194211</td>\n",
" <td>0.354785</td>\n",
" <td>0.603086</td>\n",
" <td>0.945215</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2022-09</td>\n",
" <td>30.0</td>\n",
" <td>0.240635</td>\n",
" <td>0.250689</td>\n",
" <td>0.000048</td>\n",
" <td>0.039462</td>\n",
" <td>0.136196</td>\n",
" <td>0.377416</td>\n",
" <td>0.910239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2022-10</td>\n",
" <td>31.0</td>\n",
" <td>0.334396</td>\n",
" <td>0.274684</td>\n",
" <td>0.000000</td>\n",
" <td>0.116818</td>\n",
" <td>0.291053</td>\n",
" <td>0.494833</td>\n",
" <td>0.883923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>2022-11</td>\n",
" <td>29.0</td>\n",
" <td>0.405854</td>\n",
" <td>0.308861</td>\n",
" <td>0.016603</td>\n",
" <td>0.107081</td>\n",
" <td>0.476172</td>\n",
" <td>0.629474</td>\n",
" <td>0.941579</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2022-12</td>\n",
" <td>31.0</td>\n",
" <td>0.223386</td>\n",
" <td>0.194496</td>\n",
" <td>0.006938</td>\n",
" <td>0.060502</td>\n",
" <td>0.182727</td>\n",
" <td>0.271172</td>\n",
" <td>0.680622</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month count mean std min 25% 50% \\\n",
"0 2022-01 31.0 0.375894 0.278728 0.024402 0.153636 0.311435 \n",
"1 2022-02 27.0 0.223323 0.247666 0.000000 0.031531 0.110574 \n",
"2 2022-03 31.0 0.346938 0.326758 0.000000 0.055048 0.280622 \n",
"3 2022-04 30.0 0.241667 0.255629 0.000526 0.031316 0.118349 \n",
"4 2022-05 31.0 0.261153 0.291343 0.000000 0.042153 0.099043 \n",
"5 2022-06 30.0 0.307410 0.249777 0.025933 0.097787 0.216268 \n",
"6 2022-07 31.0 0.471889 0.258072 0.004402 0.286459 0.502584 \n",
"7 2022-08 31.0 0.411485 0.286403 0.009043 0.194211 0.354785 \n",
"8 2022-09 30.0 0.240635 0.250689 0.000048 0.039462 0.136196 \n",
"9 2022-10 31.0 0.334396 0.274684 0.000000 0.116818 0.291053 \n",
"10 2022-11 29.0 0.405854 0.308861 0.016603 0.107081 0.476172 \n",
"11 2022-12 31.0 0.223386 0.194496 0.006938 0.060502 0.182727 \n",
"\n",
" 75% max \n",
"0 0.541388 1.000000 \n",
"1 0.359928 0.904019 \n",
"2 0.582225 1.000000 \n",
"3 0.402727 0.823110 \n",
"4 0.377679 0.899809 \n",
"5 0.538828 0.885215 \n",
"6 0.638947 0.914545 \n",
"7 0.603086 0.945215 \n",
"8 0.377416 0.910239 \n",
"9 0.494833 0.883923 \n",
"10 0.629474 0.941579 \n",
"11 0.271172 0.680622 "
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"draw_data"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "bde6046e-7a70-4a0c-ac83-fdf4d0a3b0d5",
"metadata": {},
"outputs": [],
"source": [
"fig, ax = plt.subplots(figsize=(16, 9))\n",
"# plt.plot(range(1, 13), des['mean'].values, '*-')\n",
"bp = ax.boxplot(draw_data, showmeans=True, patch_artist=False, widths=0.5, boxprops=dict(linewidth=2),\n",
" medianprops=dict(color='red', linewidth=2),\n",
" meanprops=dict(marker='*', markersize=8, linewidth=2),\n",
" # whiskerprops=dict(color='black', linewidth=1.5),\n",
" # capprops=dict(color='black', linewidth=1.5)\n",
" )\n",
"# 创建一个仅包含标记的图例项\n",
"circle = mlines.Line2D([], [], color='green', marker='*', linestyle='None', markersize=8, label='Mean Point')\n",
"median_line = mlines.Line2D([], [], color='red', marker='', linestyle='-', linewidth=2, label='Median Line')\n",
"ax.set_xlabel('Month', fontsize=16)\n",
"ax.set_ylabel('Missing Rate', fontsize=16)\n",
"ax.set_xticklabels(months, fontsize=16)\n",
"# 获取当前的y轴标签\n",
"yticklabels = ax.get_yticklabels()\n",
"\n",
"# 设置y轴标签的字体大小\n",
"for label in yticklabels:\n",
" label.set_fontsize(16)\n",
"# 添加图例\n",
"ax.legend(handles=[median_line, circle], fontsize=16)\n",
"plt.show()"
]
}
],
"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
}