Python的gma包计算标准化降水指数SPI

采用干旱气象指标的气象干旱综合指数MCI时因公式要涉及标准化降水指数SPI,故需要先进行SPI的计算:

 SPI的计算依赖python里的包gma,安装方法参考:

 

https://blog.csdn.net/weixin_42155937/article/details/121023363

 

原始数据是每个月的降水数据:

 python计算SPI代码如下:

#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: Su
@file: calculateSPI.py
@time: 2023/05/16
@desc:
"""
import gma
import pandas as pd
# 读取数据
Data = pd.read_excel('processdata/datas/rainmonth.xlsx',sheet_name='50525')

# 看一下 Excel 文件前 5 行内容
a = Data.head(6)
print(a)

# 提取 rain 用于 SPI 运算
rain = Data['rain'].values
# 分别计算1个月、3个月、5个月尺度的 SPI 数据
SPI1 = gma.climet.SPI(rain)
SPI3 = gma.climet.SPI(rain, Scale = 3)
SPI5 = gma.climet.SPI(rain, Scale = 5)


# 将结果保存到文件
OUT = pd.DataFrame([SPI1, SPI3, SPI5],
                   index = ['SPI1','SPI3','SPI5']).T
OUT.to_excel(r'processdata/datas/SPI.xlsx', index = False)

结果:

 

 

posted @ 2023-05-16 11:19  秋刀鱼CCC  Views(2206)  Comments(9Edit  收藏  举报