最近遇到一个有点烧脑的需求,其实也不算烧脑,主要是判断条件过多,对于我这种记忆力差,内存小的人来说容易出现内存溢出导致大脑宕机。也可能是因为我还没有找到能减小大脑内存压力的写法。 若读者有啥更好解决方案,欢迎评论噢!
先看看需求吧:
主要就是要根据左侧的表格自动生成右侧的word统计报告,实际的各种可能性情况远比图中展示的要更加复杂。
好了,直接开始干代码吧:
数据:
区域
月份
降雨量(mm)
降雨距平(mm)
观测站
6e63e
11
2.9
-0.70
A站
1b8dd
11
1.0
-3.40
A站
7c6a0
11
2.3
-3.04
A站
548ad
11
8.5
0.10
A站
1bafe
11
8.7
2.20
A站
51a45
11
16.0
7.41
A站
53f42
11
6.8
1.10
A站
4f644
11
1.8
-0.60
A站
60a75
11
0.0
-2.60
A站
4319d
11
1.4
-2.20
A站
10
62464
11
2.2
-1.00
A站
11
65cb4
11
2.0
-1.00
A站
12
e68da
11
1.2
-1.40
A站
13
4156e
11
3.1
-0.40
A站
14
1cc6d
11
3.3
-2.00
A站
15
16d40
11
0.0
-0.50
B站
16
54ac3
11
3.2
0.00
B站
17
592ac
11
4.1
-0.20
B站
18
32046
11
5.3
1.10
B站
19
4e6f0
11
1.2
0.50
B站
20
3722c
11
3.5
1.40
C站
21
5379c
11
1.3
-2.90
C站
22
51eed
11
3.2
-0.60
C站
23
2d91d
11
2.8
0.90
D站
24
78896
11
5.1
1.60
D站
25
25464
11
5.5
1.50
D站
26
66955
11
0.3
-3.10
D站
27
7639e
11
0.0
-1.10
D站
28
1c5ff
11
0.6
-0.90
D站
29
ec456
11
12.2
NaN
E站
30
29b6b
11
7.3
4.00
E站
31
220de
11
12.2
9.10
E站
32
3b5f0
11
13.6
7.25
E站
查看缺失值数量:
结果:
仅一个缺失值数据,可直接删除:
计算降雨量比往年高,跟往年比无变化,以及比往年低的次数分别是多少:
上面的结果中rainfall_high表示降雨量比往年平均水平高的次数,rainfall_equal表示降雨量比往年平均水平持平的次数,rainfall_low表示降雨量比往年平均水平低的次数。
于是分情况讨论生成第一段的报告:
结果:
再生成第二段的报告:
结果:
让我脑袋疼的地方就是从这里的代码开始的,后面还有更复杂蛋疼的需求就不公布了。
对每个观测站分别统计哪些区域偏高,哪些区域持平,哪些区域偏低:
结果:
可能是我还没有想出较好的封装方式导致代码变得这么复杂,如果有巧妙解决这个问题方法的朋友,希望能够一起探讨。
即:
python渲染代码:
执行完毕,得到word报告:
随着现代社会的发展,自动化和智能化已经成为各行各业追求的目标。在人力资源领域,自动编写离职报告的需求也越来越突出。本文将介绍如何使用Python操纵Word自动编写离职报告,以提高工作效率和准确性。一、背景介绍离职报告是员工离职时必须提交的文件,其中包含了员工在公司的表现、工作经历、离职原因等信息。传统的手动编写离职报告不仅耗时费力,而且容易出错。一旦出现格式错误、遗漏信息等问题,就会
一、为什么使用 Python 操作 Word 文档?Word 文档广泛用于:合同、协议、通知、报告编写发票、报价单、工资单自动生成项目分析报告、数据插入与格式控制如果每天都要复制粘贴几十份 Word,仅改几个数字/姓名,那就很适合用 Python 来替代人工操作,实现“批量生成”、“模板填充”、“一键输出”。二、准备工作与库介绍1. 安装核心库 python-docxpip install pyt
Spring Boot 替换Word模板生成Word文件教程
作者:小小明简介:Pandas数据处理专家,10余年编码经验,至今已帮助过成千上万名数据从业者解决工作实际遇到的问题,其中数据处理和办公自动化问题涉及的行业包括会计、HR、气象、金融等等,现为菜J学Python核心技术团队成员之一。今夜偏知春气暖,虫声新透绿窗纱。大家好,我是J哥。最近遇到一个有点烧脑的需求,其实也不算烧脑,主要是判断条件过多,对于我这种记忆力差,内存小的人来说容易出现内存溢出导致
# Java 根据面积计算降雨量## 引言降雨量的计算在气象学和水资源管理中占据着重要地位。通过对降雨面积的了解,我们可以更准确地预测水体的变化。这篇文章将探索如何使用Java编程语言,根据特定的面积计算降雨量,并使用相关的数据可视化工具(如甘特图和状态图)来帮助我们更好地理解这一过程。## 降雨量的基础降雨量通常以毫米(mm)为单位,表示降雨水量的深度。假设我们拥有一个区域的降雨
我们常常会说这样的话:“X年是自Y年以来降雨量最多的”。它的含义
降雨量预测 | Matlab基于ARIMA-RBF降雨量预测
嘟嘟嘟 这道题我第一眼看出就是RMQ,不过因为细节挺多的调了挺长时间。 st表正常预处理自不必说,主要是有没出现的年份怎么处理。 首先我们考虑false的情况: 1.左右端点年份都已知,且y的降水量小于x或者这中间最大的降水量大于x。 2.左端点年份已知,且中间的最大降水量大于等于左端点降水量。 3
1067: [SCOI2007]降雨量Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1096 Solved: 241[Su
# 获取降雨量 Java 接口在气象领域,获取降雨量是一个非常重要的功能。通过获取降雨量数据,可以帮助人们更好地了解天气状况,预测未来的降水情况,从而采取相应的措施。在本文中,我们将介绍如何通过 Java 接口来获取降雨量数据,并展示具体的代码示例。## 为什么需要获取降雨量数据?降雨量是指单位时间内降水的数量。通过获取降雨量数据,我们可以了解某个地区降水的情况,包括降雨的强度、频率、
降雨量信息是衡量大气环境研究和降水研究的主要对象,也是环境监测、农业安全监测的重要指标参数。通常我们监测降雨量,一般都是采用翻斗式或光学雨量计,来感知自然界的降雨量,同时将其转换为相应的开关信号输出,就能够满足绝大多数场景中的信息传输、处理、记录和显示的需要。 降水监测
作者丨天作 Matplotlib是一个python 2D绘图库,利用它可以画出许多高质量的图像。不过,不知道你有没有这种体验,在matlablib中画出同一个图,通常可以有好多种不同的代码实现。所以,如果不把以下这几个概念搞明白,你在网上找代码的时候会很懵,一会儿plt、一会ax,云里雾里一般。整体结构Figure(画板)画一幅图,首先要确定画在哪里。所以,最先需要做的就是创建一个画板,
文章目录前言一、获取TRMM数据链接文本1. PPS注册2. 获取数据链接二、查看数据下载方法1. 创建Earthdata账户2. 账户连接GES DISC3. 查看下载方法三、批量下载——wget实现1. wget下载2. 放入数据链接文件3. 创建cookie文件4. 数据下载 前言由于课程作业的需求,我要使用TRMM的降雨量数据,这里记录批量下载TRMM数据的详细过程。 本文下载的是TRM
【题目链接】 点击打开链接 【算法】 线段树 此题细节很多,写程序时要细心! 【代码】
原题链接 考察:线段树 or RMQ + 离散化 错误思路: 对于查询中,没给出降雨量的年份,假定降雨量为0,再建立线段树. 错误原因: maybe的依据是区间最小值为0,但是即使有不确定的年份也可以确定false,而且插入虚点了就不方便判定中间值与$l,r$的大小情况. 正确思路: 对于每个查询,
1.使用InstallShield打包ArcGIS Engine应用程序ArcGIS Engine开发的应用程序必须要在装有ArcGIS Engine运行时并且正确的授权的机器上才可以运行。因此,在制作安装包的时候可以把ArcGIS Engine运行时一起打进来,用户在安装程序时,只需要执行一个安装文件就可以正确的运行应用程序了。 利用InstallShield10.5打包的基本思路如下: 1)先
V.[NOI2004]降雨量 本题思路就和I.[HNOI2012]三角形覆盖问题差不多了。 首先,我们特判掉有长度为$W$的伞的情况——此时答案即为$0$。 否则,对于每一时刻,我们计算出下面三种情况中,最先来到的一个: 有一把伞撞到了边缘 有两把伞,它们的某两个边缘相遇了(不管是哪两个边缘) 时刻
目录【JSP】—— Java Server Pages【JSP使用】【JSP原理】【JSP脚本】【分类】【EL表达式】—— Expression Language【JavaWeb中的四大域对象】【JSTL标签】【JSTL使用】【JSTL标签if】【JSTL标签forEach】【JSP】—— Java Server Pages【概述】Java服务端页面一种动态的网页技术,其中既可以定义 H
一、产品概述无线翻斗式雨量计是一款用于测量降雨量的智能监测设备,设备采用双翻斗构造而成。可以测量分钟降雨量、小时降雨量、日降雨量,可以配置阈值,当降雨量超过阈值后触发告警上传,设备上传降雨量和设备参数等数据到雨量监测系统,雨量监测系统对数据进行解析并判断警情。该产品使用NB-IOT或4G通讯方式,使用太阳能供电,具有安装方便、实时性高、检测精度高,工作稳定等特点。二、产品功能采集雨量设备可以测量1
斯坦福大学 | CS336 | 从零开始构建语言模型 | Spring 2025 | 笔记 | Lecture 5: GPUs
编程中,我们常用的还是10进制……必竟C/C++是高级语言。比如:int a = 100,b = 99;不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:0000 0000 0000 0000 0110 0100面对这么长的数进行思考或操作,没有人
最近学习java编程语言学到了类这一章节,接触到了抽象类和接口。个人对于抽象类和接口有了自己的一些理解,想要再这里和大家分享,由于新人第一次写博客,同时对于问题的理解可能也存在一定的不足和狭隘,希望各位大佬多多指点,也希望和各位一起学习进步抽象类: 个人对于抽象类的理解为:类是对客观事物抽象化的结果,而抽象类是对类再进行一定的抽象化得到的。换言之这是从哲学角度上来讲,哲学上会对事物进行高度的概
功能概述LK字幕脚本工具是为译学馆特效组定制的AE脚本工具,用于辅助完成特效组AE、Pr类型的任务。该脚本提供的很多功能同样适合改进其他字幕组的工作方式及效率。脚本功能如下:快捷制作普通字幕一键生成字幕图层支持导入.ass类型的字幕文件到AE将原始字幕中的加星文本替换为带颜色的文字支持识别字幕中的换行符\N支持对双行文字字幕的上下两行分别应用不同的字体设置批量生成统一的淡入淡出、移入移出、打字机
可迭代对象: 实现__iter__()方法或方法的对象,可用for循环遍历,如列表、元组、字符串。原理: 通过iter()方法返回一个迭代器,迭代器通过next()方法逐个获取元素,直到抛出异常。闭包: 函数嵌套,内部函数引用外部函数的变量,且外部函数返回内部函数,形成“闭合”环境。装饰器: 一种闭包,用于增强函数功能,通常用语法修饰函数。值传递: 传递值的副本,修改不影响原对象(如 C 语言)。引用传递: 传递对象引用,修改会影响原对象。Python。