MetPy n点平滑数据处理——九点平滑为例
本文最后更新于39 天前,其中的信息可能已经过时,如有错误请发送邮件到[email protected],亦或是留言提醒站长!你也可以通过 https://t.me/shiinabulog 联系我!

经常看到n点平滑,自己去def的话水平太差出来的效果还不如人MetPy自带的平滑…

先给个GPT4给的9点平滑方案

# 定义九点平滑函数
def smooth_9point(data, s=0.5):
    smoothed_data = np.empty_like(data)
    for i in range(1, data.shape[0] - 1):
        for j in range(1, data.shape[1] - 1):
            smoothed_data[i, j] = s * data[i, j] + (1 - s) / 8 * (
                data[i-1, j-1] + data[i-1, j] + data[i-1, j+1] +
                data[i, j-1] + data[i, j+1] +
                data[i+1, j-1] + data[i+1, j] + data[i+1, j+1])
    # 处理边界
    smoothed_data[0, :], smoothed_data[:, 0], smoothed_data[-1, :], smoothed_data[:, -1] = data[0, :], data[:, 0], data[-1, :], data[:, -1]
    return smoothed_data

平滑之后使用smooth_9point对变量进行计算

u_smoothed = smooth_9point(u)
v_smoothed = smooth_9point(v)

使用MetPy库进行九点平滑

官方文档:smooth_n_point — MetPy 1.6dev (unidata.github.io)

第一步导入库

from metpy.calc import smooth_n_point

然后直接对数据进行处理即可

u_smth = smooth_n_point(u, n=9, passes=1)
v_smth = smooth_n_point(v, n=9, passes=1)

同时可以选择平滑次数
将passes后的数值改为所需次数即可

MetPy官方给出的示例:


作 者:Serenite
链 接: https://blog.shiina.fun/2024/03/16/metpy-n%e7%82%b9%e5%b9%b3%e6%bb%91%e6%95%b0%e6%8d%ae%e5%a4%84%e7%90%86-%e4%b9%9d%e7%82%b9%e5%b9%b3%e6%bb%91%e4%b8%ba%e4%be%8b/
来 源:Shiina's Bulog
版 权 声 明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。文章版权归作者所有,未经允许请勿转载!


暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇