首页 > 编程语言 >Python的gma包计算标准化降水指数SPI

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

时间:2023-05-16 11:36:35浏览次数:53  
标签:Python gma rain python SPI pd climet

采用干旱气象指标的气象干旱综合指数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

相关文章

  • python练习10
    python练习10豆瓣图书评论数据分析与可视化.pyimportrefromcollectionsimportCounterimportrequestsfromlxmlimportetreeimportpandasaspdimportjiebaimportmatplotlib.pyplotaspltfromwordcloudimportWordCloudheaders={"User-Agent":"Mozilla/5.0......
  • python练习
    函数图形1绘制.pyimportrequestsfrombs4importBeautifulSoupasbsimportpandasaspdfrommatplotlibimportpyplotaspltdefget_rank(url):count=0rank=[]headers={"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64......
  • python练习8
    函数图形2绘制.pyimportnumpyasnpimportmatplotlib.pyplotasplt#定义函数deff1(x):returnx**2deff2(x):returnnp.cos(2*x)deff3(x):returnf1(x)*f2(x)#生成X轴数据x=np.linspace(0,10,500)#绘制函数图形plt.plot(x,f1(x),'b-.',label=......
  • python练习5
    python练习5importmathclassPoint():def__init__(self,x,y):self.x=xself.y=ydef__lt__(self,other):l1=math.sqrt(self.x**2+self.y**2)l2=math.sqrt(other.x**2+other.y**2)returnl1<l2def__le__(sel......
  • python练习4
    python练习4classCexception:def__init__(self,year,month,day):ifCexception.judge(year,month,day):self.year=yearself.month=monthself.day=dayelse:self.year=-1self.mont......
  • python学生管理系统笔记(基础框架)
     1.LoginPage.pyimporttkinterastkfromtkinterimportmessageboxfromdbimportdbfromMainPageimportMainPageclassLoginPage:def__init__(self,master):self.root=masterself.root.geometry('300x180')se......
  • Python多线程并发通用模板
    多线程可以同时处理多个任务,支持并发处理,从而提高系统的并发能力。多线程爬虫的好处主要有提高爬取效率、提高稳定性、节省资源等。总之,多线程爬虫可以提高爬取效率、稳定性和资源利用率,是一种更加高效、可靠的爬虫实现方式。多线程爬虫并行可以提高爬虫的效率,具体实现方法如下:......
  • Python_报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Op
    解决:https://blog.csdn.net/Jimmmyking/article/details/126105788作为mac的用户,如果你还没安装Homebrew那真的就太遗憾了,应为其真的很好用,然后安装Homebrew有时候有不是那么简单,会出现很多奇奇怪怪的错误,如下是我本人第一次安装就成功,其重要用的是中科大的brew主体,使用这个只需......
  • Python金融应用编程:衍生品定价和套期保值的随机过程|附代码数据
    全文链接:http://tecdat.cn/?p=5620最近我们被客户要求撰写关于金融应用编程的研究报告,包括一些图形和统计输出。在本文中随机过程对定量融资的许多方面都很有用,包括但不限于衍生品定价,风险管理和投资管理这些应用程序将在本文后面进一步详细讨论。本节介绍了量化融资中使用的一......
  • python 中 pyfaidx 模块统计fasta文件每一条染色体的长度
     001、python版本和pip版本a、python版本[root@PC1pip]#python--versionPython3.11.3 b、pip版本[[email protected]]#pip--versionpip23.1.2from/usr/local/lib/python3.11/site-packages/pip(python3.11) 002、利用pip安装 pyfaidx模块......