Python计算权重累积降水量WAP

原始数据跟上一篇一样

计算公式如图:

公式解析:

实则就是当前的降水量一列,前一个月的降水量a的二次方×p2一列,这两列错位相加。

复制代码
#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: Su
@file: calculateWAP.py
@time: 2023/05/17
@desc:
"""
# python实现对Excel某一列乘以某个常数,结果存放在另一个单元格中
import pandas as pd
import math


#读取数据
data = pd.read_excel('processdata/datas/rainmonth.xlsx',sheet_name='50525')

#提取rain用于WAP计算
rain = data["rain"].values
#进行WAP公式计算
WAP1 = 0.85 * rain
WAP2 = math.pow(0.85,2)*rain

#第一列第二行加第二列第一行
a = WAP1[1:]
b = WAP2[:383]
print(data.head())
#错位相加
WAP3 = a + b
print(WAP3)


# 将结果保存到文件
OUT = pd.DataFrame([WAP1, WAP2, WAP3],
                   index = ['WAP1','WAP2','WAP3']).T
OUT.to_excel(r'processdata/datas/WAP.xlsx', index = False)
复制代码

因为会涉及最后两列对不上所以取了这个

WAP2[:383]

 

 此方法较为愚蠢 实际可以写个循环,但是这次懒得试了以后可以用用:

for i in range(len(df)-1):
    df.loc[i,'新列名'] = df.loc[i+1,'第一列列名'] + df.loc[i,'第二列列名']

 

 

 

posted @   秋刀鱼CCC  Views(405)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示