采用干旱气象指标的气象干旱综合指数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('G:/drought/processdata/datas/rainmonth.xlsx',sheet_name='50525') # 看一下 Excel 文件前 5 行内容 a = Data.head(6) print(a) # 提取 PRE 用于 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'G:/drought/processdata/datas/SPI.xlsx', index = False)
结果:
标签:Python,gma,rain,python,SPI,pd,climet From: https://www.cnblogs.com/shirleysu90/p/17404413.html