meteva

提供气象产品检验相关python程序


表格型检验产品

<p>[TOC]</p> <pre><code class="language-python">%matplotlib inline %load_ext autoreload %autoreload 2 import meteva.method as mem import meteva import numpy as np import pandas as pd</code></pre> <pre><code class="language-python">path = r&amp;quot;H:\test_data\input\mem\rain01.h5&amp;quot; rain01 = pd.read_hdf(path) print(rain01)</code></pre> <pre><code> level time dtime id lon lat ob RUC 122326 0 2022-05-06 08:00:00 1 57909 105.82 24.98 0.0 0.0 122338 0 2022-05-06 08:00:00 1 57927 107.18 24.97 0.0 0.0 122345 0 2022-05-06 08:00:00 1 57949 110.00 24.98 0.0 0.0 122758 0 2022-05-06 08:00:00 1 59001 105.33 24.78 0.0 0.0 122759 0 2022-05-06 08:00:00 1 59004 105.10 24.50 0.0 0.0 ... ... ... ... ... ... ... ... ... 788374 0 2022-05-17 20:00:00 24 59673 112.77 21.73 0.0 0.0 788375 0 2022-05-17 20:00:00 24 59750 110.07 20.97 0.0 0.0 788376 0 2022-05-17 20:00:00 24 59754 110.18 20.33 0.0 0.0 788377 0 2022-05-17 20:00:00 24 59757 110.37 20.00 0.0 0.0 788378 0 2022-05-17 20:00:00 24 59758 110.25 20.00 0.0 0.0 [104832 rows x 8 columns]</code></pre> <pre><code class="language-python">ob = rain01[&amp;quot;ob&amp;quot;].values fo = rain01[&amp;quot;RUC&amp;quot;].values</code></pre> <h1>累计降水量随强度变化表</h1> <p><strong>accumulation_strength_table(ob,fo, member_list = None,save_path=None)</strong><br /> 统计在不同降水强度区间(逐1毫米)的累计降水量 </p> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;ob&lt;/font&gt;</strong></td> <td style="text-align: left;">实况数据, 任意维numpy数组</td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;fo&lt;/font&gt;</strong></td> <td style="text-align: left;">fo比Ob.shape多一维或者保持一致,fo.shape低维与ob.shape保持一致</td> </tr> <tr> <td style="text-align: left;"><strong>grade_list</strong></td> <td style="text-align: left;">如果该参数为None,观测或预报值出现过的值都作为分类标记,如果该参数不为None,它必须是一个从小到大排列的实数,以其中列出的数值划分出的多个区间作为分类标签。对于预报和观测值不为整数的情况,grade_list 不能设置为None</td> </tr> <tr> <td style="text-align: left;"><strong>member_list</strong></td> <td style="text-align: left;">个预报成员的名称列表,将被用作excel表的列名称</td> </tr> <tr> <td style="text-align: left;"><strong>save_path</strong></td> <td style="text-align: left;">如果该参数不为None,则混淆矩阵将会以excel文件形式保存到指定文件</td> </tr> <tr> <td style="text-align: left;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</td> <td style="text-align: left;">如果Fo和Ob的shape一致(即只有一种预报),返回内容为混淆矩阵的二维数组,shape为(类别数 + 1)×(类别数 + 1),如果Fo比Ob高出一维,则返回3维数组,shape为预报种类数据 ×(类别数 + 1)×(类别数 + 1)</td> </tr> </tbody> </table> <p><strong>调用示例:</strong> </p> <pre><code class="language-python">result = mem.accumulation_strength_table(ob,fo,member_list = [&amp;quot;OBS&amp;quot;,&amp;quot;RUC&amp;quot;], save_path = r&amp;quot;H:\test_data\output\method\continue\accumulation_strength_table.xlsx&amp;quot;) print(result)</code></pre> <pre><code>累计降水量随强度变化表已以excel表格形式保存至H:\test_data\output\method\continue\accumulation_strength_table.xlsx [[ 5931.5000619 5576.80000854 5125.49999833 4318.99998975 4143.59999657 3492.19999981 2928.8000021 2611.59999847 2362.59999275 2298.6000061 1945.99999428 1551.80000496 1766.80000496 1425.99999046 1643.20000458 1328. 1021.59999847 977.80000687 882.80000305 735.79999542 777.99999619 1071. 628.79999924 653.40000153 833.80000687 359. 211. 657.60000229 508.20000076 413.59999847 364.19999695 252.59999847 324.80000305 199.80000305 274.99999237 283.40000153 363.59999847 373.40000153 307.40000153 474.80001068 0. 82. 84. 174. 179.19999695 0. 93.40000153 0. 291. 98. 0. 102. 0. 0. 0. 220.80000305 113.19999695 0. 0. 0. 242. 0. 249.80000305 0. 0. 131.6000061 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 158.3999939 0. 0. 0. 0. 0. 0. 0. 0. 176.6000061 0. 0. 0. 0. 0. 188.6000061 0. 0. ] [ 9874.44 11401.93 11918.73 10539.73 8674.2 7129.83 5956.04 5020.11 3579.09 3266.51 2639.99 2215.36 1825.39 1701.2 1655.05 1286.52 1087.04 1173.22 830.22 1032.75 554.24 838.14 493.05 610.56 515.57 508.08 345.85 273.86 113.8 295.01 151.98 156.67 129.4 167.69 102.65 105.74 36.91 150.54 115.14 0. 40.87 41.74 0. 43.8 0. 45.82 0. 0. 0. 0. 0. 0. 52.77 53.35 0. 0. 112.98 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 79.94 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]]</code></pre> <p><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;降水频次随强度变化表&lt;/font&gt;</strong><br /> <strong>frequency_strength_table(ob,fo, member_list = None,save_path=None)</strong><br /> 统计在不同降水强度区间(逐1毫米)的累计降水频次 </p> <table> <thead> <tr> <th style="text-align: left;">参数</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;ob&lt;/font&gt;</strong></td> <td style="text-align: left;">实况数据, 任意维numpy数组</td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;fo&lt;/font&gt;</strong></td> <td style="text-align: left;">fo比Ob.shape多一维或者保持一致,fo.shape低维与ob.shape保持一致</td> </tr> <tr> <td style="text-align: left;"><strong>grade_list</strong></td> <td style="text-align: left;">如果该参数为None,观测或预报值出现过的值都作为分类标记,如果该参数不为None,它必须是一个从小到大排列的实数,以其中列出的数值划分出的多个区间作为分类标签。对于预报和观测值不为整数的情况,grade_list 不能设置为None</td> </tr> <tr> <td style="text-align: left;"><strong>member_list</strong></td> <td style="text-align: left;">个预报成员的名称列表,将被用作excel表的列名称</td> </tr> <tr> <td style="text-align: left;"><strong>save_path</strong></td> <td style="text-align: left;">如果该参数不为None,则混淆矩阵将会以excel文件形式保存到指定文件</td> </tr> <tr> <td style="text-align: left;">&lt;font face=&quot;黑体&quot; color=blue size=5&gt;return&lt;/font&gt;</td> <td style="text-align: left;">如果Fo和Ob的shape一致(即只有一种预报),返回内容为混淆矩阵的二维数组,shape为(类别数 + 1)×(类别数 + 1),如果Fo比Ob高出一维,则返回3维数组,shape为预报种类数据 ×(类别数 + 1)×(类别数 + 1)</td> </tr> </tbody> </table> <p><strong>调用示例:</strong> </p> <pre><code class="language-python">result = mem.frequency_strength_table(ob,fo,member_list = [&amp;quot;OBS&amp;quot;,&amp;quot;RUC&amp;quot;], save_path = r&amp;quot;H:\test_data\output\method\continue\frequency_strength_table.xlsx&amp;quot;) print(result)</code></pre> <pre><code>降水频次随强度变化表已以excel表格形式保存至H:\test_data\output\method\continue\frequency_strength_table.xlsx [[9.3103e+04 4.0610e+03 2.1210e+03 1.2650e+03 9.4000e+02 6.4400e+02 4.5600e+02 3.5000e+02 2.8000e+02 2.4400e+02 1.8600e+02 1.3600e+02 1.4200e+02 1.0600e+02 1.1400e+02 8.6000e+01 6.2000e+01 5.6000e+01 4.8000e+01 3.8000e+01 3.8000e+01 5.0000e+01 2.8000e+01 2.8000e+01 3.4000e+01 1.4000e+01 8.0000e+00 2.4000e+01 1.8000e+01 1.4000e+01 1.2000e+01 8.0000e+00 1.0000e+01 6.0000e+00 8.0000e+00 8.0000e+00 1.0000e+01 1.0000e+01 8.0000e+00 1.2000e+01 0.0000e+00 2.0000e+00 2.0000e+00 4.0000e+00 4.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 6.0000e+00 2.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 4.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 4.0000e+00 0.0000e+00 4.0000e+00 0.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00] [8.2045e+04 7.9060e+03 4.8450e+03 3.0480e+03 1.9410e+03 1.3040e+03 9.2100e+02 6.7300e+02 4.2400e+02 3.4500e+02 2.5200e+02 1.9300e+02 1.4700e+02 1.2600e+02 1.1400e+02 8.3000e+01 6.6000e+01 6.7000e+01 4.5000e+01 5.3000e+01 2.7000e+01 3.9000e+01 2.2000e+01 2.6000e+01 2.1000e+01 2.0000e+01 1.3000e+01 1.0000e+01 4.0000e+00 1.0000e+01 5.0000e+00 5.0000e+00 4.0000e+00 5.0000e+00 3.0000e+00 3.0000e+00 1.0000e+00 4.0000e+00 3.0000e+00 0.0000e+00 1.0000e+00 1.0000e+00 0.0000e+00 1.0000e+00 0.0000e+00 1.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00 1.0000e+00 0.0000e+00 0.0000e+00 2.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00]]</code></pre> <pre><code class="language-python"></code></pre> <pre><code class="language-python"></code></pre>

页面列表

ITEM_HTML