meteva

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


邻域

<p>[TOC]</p> <pre><code class="language-python">%matplotlib inline %load_ext autoreload %autoreload 2 import meteva.base as meb import numpy as np import pandas as pd import datetime</code></pre> <pre><code class="language-python">#生成测试数据 sta_alt= meb.read_sta_alt_from_micaps3(meb.station_国家站) # 获取站点数据 grid0 = meb.grid([70,140,0.1],[15,55,0.1]) meb.tool.plot_tools.scatter_sta(sta_alt) # 站点数据的内容是站点海拔高度。</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/0d4068ca83ff4e314b3c4a1b7ffffd35?showdoc=.jpg" alt="" /></p> <h1>获取站点R半径内的邻域站号</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>ids_list_list_in_r_of_sta(sta_to, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表。如果sta_from 为None,则会将sta_to 赋值给sta_from </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">双层嵌套的列表,外层列表的size 和顺序和sta_to一致, 内层嵌套的size并不固定,顺序按离sta_to中站点的距离有近到远排列</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">print(&amp;quot;站点数据sta_alt的站点数:&amp;quot;+str(len(sta_alt.index))) ids = meb.ids_list_list_in_r_of_sta(sta_alt) print(&amp;quot;列表ids的lenght:&amp;quot;) print(len(ids)) print(ids[100])</code></pre> <pre><code>站点数据sta_alt的站点数:2411 列表ids的lenght: 2411 [50963 50964]</code></pre> <h1>获取站点R半径内的邻域值</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>values_list_list_in_r_of_sta(sta_to, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表。如果sta_from 为None,则会将sta_to 赋值给sta_from </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">双层嵌套的列表,外层列表的size 和顺序和sta_to一致, 内层嵌套的size并不固定,顺序按离sta_to中站点的距离有近到远排列</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">print(&amp;quot;站点数据sta_alt的站点数:&amp;quot;+str(len(sta_alt.index))) values = meb.values_list_list_in_r_of_sta(sta_alt) print(&amp;quot;列表values的lenght:&amp;quot;) print(len(values)) print(values[100])</code></pre> <pre><code>站点数据sta_alt的站点数:2411 列表values的lenght: 2411 [109. 119.]</code></pre> <h1>统计邻域内站点值的属性</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>statistic_in_r_of_sta(sta_to,operation, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表,再基于列表统计出邻域值的一些属性 </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;operation&lt;/font&gt;</strong></td> <td style="text-align: left;">numpy的统计方法,比如如果需要统计邻域站点中的最大值则operation = numpy.max</td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">站点数据,其站点时空信息属性列和sta_to一致,而数据列则为operation操作的结果</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">sta_max = meb.statistic_in_r_of_sta(sta_alt,np.max,r = 100) meb.tool.plot_tools.scatter_sta(sta_max) # 根据上面的代码计算的sta_max 内涵是每个站点附近100km内所有站点最大值,因此如下图所示在泰山附近的点取值也都一样大</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/4293c9e10867ff349bcc9a538ecf000c?showdoc=.jpg" alt="" /></p> <h1>统计邻域内的最大值</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>max_in_r_of_sta(sta_to, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表,再基于列表统计出邻域值中的最大值 </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">站点数据,其站点时空信息属性列和sta_to一致,而数据列则为邻域内的最大值</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">sta_max = meb.max_in_r_of_sta(sta_alt,r = 100) meb.tool.plot_tools.scatter_sta(sta_max) # 根据上面的代码计算的sta_max 内涵是每个站点附近100km内所有站点最大值,因此如下图所示在泰山附近的点取值也都一样大</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/d7d7fbaafd631754468eb43bb1fb97ca?showdoc=.jpg" alt="" /></p> <h1>统计邻域内的最小值</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>min_in_r_of_sta(sta_to, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表,再基于列表统计出邻域值中的最小值 </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">站点数据,其站点时空信息属性列和sta_to一致,而数据列则为邻域内的最小值</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">sta_min = meb.min_in_r_of_sta(sta_alt,r = 1000) meb.tool.plot_tools.scatter_sta(sta_min) # 根据上面的代码计算的sta_min 内涵是每个站点附近1000km内所有站点最小值,因此如下图所示在青藏高原附近的取值相对sta_alt都明显低</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/6359e387bb32d4cf6746d8765670e087?showdoc=.jpg" alt="" /></p> <h1>统计邻域内的平均值</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>mean_in_r_of_sta(sta_to, r = 40, sta_from = None,drop_first = False)</strong>&lt;/font&gt; </p> <p>查找站点数据sta_to的每个站点附近半径R的范围内的属于sta_from的站点值的列表,再基于列表统计出邻域值中的平均值 </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;sta_to&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>r</strong></td> <td style="text-align: left;">扫描半径,单位km</td> </tr> <tr> <td style="text-align: left;"><strong>sta_from</strong></td> <td style="text-align: left;">站点数据。如果sta_from 为None,程序中则会将sta_to 赋值给sta_from,即从sta_to站点列表自身中查找邻域站点</td> </tr> <tr> <td style="text-align: left;"><strong>drop_first</strong></td> <td style="text-align: left;">是否丢弃最邻近的点,通常在sta_from = None时,对每个站点而言,能找到的最近点就是其自身,如果drop_first = True,则会将在结果中将最近点的取值丢弃</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;">站点数据,其站点时空信息属性列和sta_to一致,而数据列则为邻域内的平均值</td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">sta_mean = meb.mean_in_r_of_sta(sta_alt,r = 1000) meb.tool.plot_tools.scatter_sta(sta_mean) # 根据上面的代码计算的sta_mean 内涵是每个站点附近1000km内所有站点平均值,因此如下图所示在青藏高原附近的取值相对sta_alt都明显低</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/76c5514179ed02d61df0812f4ecb17e0?showdoc=.jpg" alt="" /></p> <pre><code class="language-python"></code></pre> <h1>网点附近站点值之和</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>add_stavalue_to_nearest_grid(sta,grid)</strong>&lt;/font&gt; </p> <p>查找站点数据sta最近的网格点,将站点值累加到最近的网格点上。 </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;sta&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grid&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.com.cn/meteva?page_id=3975600815874861">网格信息类变量</a>,程序会提取其中水平方向网格信息用于计算</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;"><a href="https://www.showdoc.com.cn/meteva?page_id=3975600815874861">网格数据</a></td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <h1>网点附近站点个数之和</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>add_stacound_to_nearest_grid(sta,grid)</strong>&lt;/font&gt; </p> <p>查找站点数据sta最近的网格点,将站点值记为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;sta&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;grid&lt;/font&gt;</strong></td> <td style="text-align: left;"><a href="https://www.showdoc.com.cn/meteva?page_id=3975600815874861">网格信息类变量</a>,程序会提取其中水平方向网格信息用于计算</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;"><a href="https://www.showdoc.com.cn/meteva?page_id=3975600815874861">网格数据</a></td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">#生成测试数据 station= meb.read_sta_alt_from_micaps3(meb.station_国家站) # 获取站点数据 meb.tool.plot_tools.scatter_sta(station,title = [&amp;quot;站点分布图&amp;quot;]) grid = meb.grid([70,140,1],[15,55,1]) grd = meb.add_stacount_to_nearest_grid(station,grid) meb.tool.plot_tools.pcolormesh_2d_grid(grd,title = &amp;quot;站点密度图【1个/(1°×1°)】&amp;quot;)</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/c00a15c5b99662f0a698426ff46db986?showdoc=.jpg" alt="" /></p> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/81466adeca1cb9d0c7df2faf6fcfcff8?showdoc=.jpg" alt="" /></p> <h1>获取台风路径附近的站点</h1> <p>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;<strong>get_stations_near_by_cyclone_trace(sta_cyclone_trace,station, r = 1000)</strong>&lt;/font&gt; </p> <p>根据每个时刻的台风路径定位,用半径r扫描station中的站点,再将每个时刻的扫描结果拼接在一起。 </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;sta_cyclone_trace&lt;/font&gt;</strong></td> <td style="text-align: left;">台风路径定位数据,<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;station&lt;/font&gt;</strong></td> <td style="text-align: left;">站点信息,<a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> <tr> <td style="text-align: left;"><strong>&lt;font face=&quot;黑体&quot; color=blue size = 5&gt;r&lt;/font&gt;</strong></td> <td style="text-align: left;">扫描半径(单位:km),在半径范围内的站点将被选入</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;"><a href="https://www.showdoc.cc/meteva?page_id=3975600580125986">站点数据</a></td> </tr> </tbody> </table> <p><strong>调用示例</strong> </p> <pre><code class="language-python">filename = r&amp;quot;H:\test_data\input\meb\babj_2106.dat&amp;quot; #设置台风路径文件 sta1 = meb.read_cyclone_trace(filename,id_cyclone = 2106) #读取台风路径数据(包括定位和预报) trace_ob = meb.sele_by_para(sta1,dtime = 0) #提取其中定位数据部分(观测)speed_all station = meb.read_station(meb.station_国家站) near_sta = meb.fun.nearing.get_stations_near_by_cyclone_trace(trace_ob,station,r = 500) # 获取台风路径附近站点 print(near_sta)</code></pre> <pre><code> level time dtime id lon lat data0 2123 0 2021-07-23 23:00:00 0 58666 121.90 28.45 0 2124 0 2021-07-23 23:00:00 0 58667 121.27 28.08 0 2157 0 2021-07-23 23:00:00 0 58760 121.15 27.83 0 2123 0 2021-07-24 00:00:00 0 58666 121.90 28.45 0 2124 0 2021-07-24 00:00:00 0 58667 121.27 28.08 0 ... ... ... ... ... ... ... ... 1855 0 2021-07-30 17:00:00 0 58045 119.60 34.20 0 1856 0 2021-07-30 17:00:00 0 58047 119.23 34.25 0 1857 0 2021-07-30 17:00:00 0 58048 119.35 34.12 0 1858 0 2021-07-30 17:00:00 0 58049 119.80 34.02 0 1880 0 2021-07-30 17:00:00 0 58131 118.27 33.98 0 [31389 rows x 7 columns]</code></pre> <pre><code class="language-python">#根据台风定位数据是在时间上是等间距的,则可以从near_sta中统计每个站点受台风影响的时长,方法如下: near_sta[&amp;quot;data0&amp;quot;] = 1 count = meb.sum_of_sta(near_sta,used_coords=[&amp;quot;time&amp;quot;]) grid0 = meb.grid([105,130,0.05],[25,45,0.05]) axs = meb.creat_axs(1,grid0) meb.add_cyclone_trace(axs[0],trace_ob,size = 0.2) meb.add_scatter(axs[0],count,cmap = &amp;quot;rainbow&amp;quot;,point_size=5,title = &amp;quot;站点位于台风烟花附近500km范围内的时长(单位:小时)&amp;quot;)</code></pre> <pre><code>&amp;lt;matplotlib.collections.PathCollection at 0x2ac91487f08&amp;gt;</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/cea1b52331a786f6c1ff9144305475eb" alt="" /></p> <pre><code class="language-python">#读取预先收集好的台风期间全国的ECMWF模式预报和对应观测数据 rain24_all = pd.read_hdf(r&amp;quot;H:\test_data\input\meb\cyclone_rain24_test_data.h5&amp;quot;) print(rain24_all)</code></pre> <pre><code> level time dtime id lon lat ob \ 40987 0 2021-07-20 08:00:00 144 50136 122.52 52.97 0.5 40988 0 2021-07-20 08:00:00 144 50137 122.37 53.47 26.1 40989 0 2021-07-20 08:00:00 144 50246 124.72 52.35 0.0 40990 0 2021-07-20 08:00:00 144 50247 123.57 52.03 0.1 40991 0 2021-07-20 08:00:00 144 50349 124.40 51.67 0.0 ... ... ... ... ... ... ... ... 1041531 0 2021-07-31 08:00:00 120 59945 109.70 18.65 0.0 1041532 0 2021-07-31 08:00:00 120 59948 109.58 18.22 0.0 1041533 0 2021-07-31 08:00:00 120 59951 110.33 18.80 0.0 1041534 0 2021-07-31 08:00:00 120 59954 110.03 18.55 0.0 1041535 0 2021-07-31 08:00:00 120 59981 112.33 16.83 0.4 ECMWF 40987 7.636692 40988 14.290881 40989 5.466002 40990 13.473013 40991 9.527965 ... ... 1041531 10.543853 1041532 3.784034 1041533 1.900754 1041534 7.155829 1041535 0.000000 [499061 rows x 8 columns]</code></pre> <pre><code class="language-python"># 通过数据选取功能,设置ob_stadata参数,选取和台风有关的预报和观测样本。 # 选取规则: #对于rain24_all中的一行数据,其站号为 id1,将起报时间time加上预报时效dtime得到对应的观测时间time1, #在near_sta列表中判断是否存在time列取值为time1,id列取值为id1的数据,如果有,则上述rain24_all中一行数据被选取保留。 rain24_near_cyclone = meb.sele_by_para(rain24_all,ob_stadata=near_sta) print(rain24_near_cyclone)</code></pre> <pre><code> level time dtime id lon lat ob \ 2360 0 2021-07-20 08:00:00 96 58559 120.98 29.17 55.000000 2361 0 2021-07-20 08:00:00 96 58566 121.88 29.47 18.600000 2362 0 2021-07-20 08:00:00 96 58567 121.43 29.32 53.400002 2363 0 2021-07-20 08:00:00 96 58568 121.38 29.12 35.799999 2364 0 2021-07-20 08:00:00 96 58569 121.95 29.20 5.700000 ... ... ... ... ... ... ... ... 25474 0 2021-07-29 08:00:00 24 58035 118.35 34.33 1.300000 25475 0 2021-07-29 08:00:00 24 58036 118.73 34.52 0.600000 25476 0 2021-07-29 08:00:00 24 58040 119.13 34.85 0.100000 25477 0 2021-07-29 08:00:00 24 58041 119.43 34.78 0.000000 25478 0 2021-07-29 08:00:00 24 58044 119.23 34.53 0.500000 ECMWF 2360 13.146273 2361 31.974769 2362 34.861083 2363 40.813033 2364 22.872963 ... ... 25474 2.276917 25475 1.720715 25476 0.777387 25477 0.523834 25478 0.839029 [30868 rows x 8 columns]</code></pre>

页面列表

ITEM_HTML