近期有个计算春天的需求,网上搜了下大多是用MATLAB中的smooth函数的思路写的。正好学到pandas几个强大的数据处理方法,想着自己试试.
pandas提供了大量能使我们快速便捷地处理数据的函数和方法,什么深度学习,推荐,分类啊都挺好用。本次处理主要应用的就是窗口函数rolling,算滑动平均气温刚刚好。
**

1.数据准备

中国气象数据网上找的站点日平均气温,txt。为了方便,就取了站名、月、日、日平均气温。

2.相关概念


直接上图,因为描述起来怎么这么难。

好吧,如此严格的标准,无限感叹何苦为难自己人啊~
(1)计算5天滑动平均气温T1
(2)滑动平均气温T1还得连续五天大于10°
(3)映射到9天有日平均气温的日子里找出第一个。
如果还是看不懂,仔细阅读https://www.doc88.com/p-0723733695358.html (其实我也是百度学的)

3.来吧,代码

import os
import pandas as pd #引入pandas
import openpyxl
import numpy as npdef window_springdate(path,filename):papa=pd.read_csv(os.path.join(path,filename),sep='\t',header=None,names=['site','month','day','TEM']) #加载papa.txt,指定它的分隔符是 \t   w = papa['TEM']#获得气温data1 = w.rolling(5,min_periods=1).mean()#计算5天滑动平均气温papa['data'] = data1papa['spring'] = papa['data'].rolling(5).agg(lambda x:min(x)>10)#滑动窗口为5天时候所有的5天滑动平均气温都高于10度print('写入excel')ss=filename.split('.')[0]newfile = os.path.join('D:\\test', "re_"+ss+".xlsx")#处理后的新文件print(newfile)print(ss)fp = open(newfile,'w')papa.to_excel(newfile,index=True)  a1 = papa.loc[papa['spring'] == 1]if not a1.empty:print('hahah')a = a1.iloc[0]print(a)b =pd.DataFrame(data=a)c = b.Treturn celse:print('winter')

因为处理的1-3月份的数据,条件那块没写的那么细。等算其他季节时候再说吧~~~~

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

rolling窗口函数可以直接用mean()求平均,sum() 值的总和,等等。好玩的是 agg ()函数可以快速实现多个聚类函数,并输出结果。代码示例里就用的这个换了个思路得到滑动平均气温连续5天大于等于10度的。
不过求得的a是series,换了个格式后,就能得到结果。

接下来放到循环里,没了就这样,88

rootdir='D:\\offlinedata'
# read
for (dirpath,dirnames,filenames) in os.walk(rootdir):for filename in filenames:print('>>>>',filename)a = window_springdate(dirpath,filename)if a is None:print('cold')continueelse:print(a)a.to_csv(r'C:\Users\nanch\Desktop\2.csv',line_terminator="\n",mode='a',encoding='utf8')
print('bye')

python的pandas计算5天滑动平均气温,并批量计算春季起始日相关推荐

  1. 练习:Python 的字符串处理, 一个朴实无华的四则运算计算器,批量计算小学生四则运算表达式

    Python 官网:https://www.python.org/ Free:大咖免费"圣经"教程< python 完全自学教程>,不仅仅是基础那么简单-- My CS ...

  2. freqz()计算M点滑动平均滤波器的频率响应

    函数说明(建议参考官方文档) freqz(h,w)可以用来求指定的单位脉冲响应向量 h 在一组给定频率点 w 上的频率响应值 由这些频率响应值,可以用函数 real 和 imag 计算实部和虚部,函数 ...

  3. Python 使用pandas处理Excel —— 快递订单处理 数据匹配 邮费计算

    问题背景 有表A,其数据如下 关键信息是邮寄地址和单号. 表B: 关键信息是运单号和重量 我们需要做的是,对于表A中的每一条数据,根据其单号,在表B中查找到对应的重量. 在表A中新增一列重量,将刚才查 ...

  4. Python遥感图像处理应用篇(十)(续):使用EVI指数批量计算叶面积指数LAI

    1.叶面积指数概念 叶面积指数(leaf area index, LAI)不同资料显示定义有所不同,有的说是指单位地面上的绿叶面积,是植被冠层最显著的特征之一,具体是指一定土地面积上植物叶面面积总和与 ...

  5. Python遥感图像处理应用篇(十):使用NDVI指数批量计算叶面积指数LAI

    1.叶面积指数概念     叶面积指数(leaf area index, LAI)不同资料显示定义有所不同,有的说是指单位地面上的绿叶面积,是植被冠层最显著的特征之一,具体是指一定土地面积上植物叶面面 ...

  6. matlab 计算汉明距_matlab实现滑动平均滤波

    什么是滑动均值滤波 滑动平均滤波就是把连续取得的N个采样值看成一个队列,队列的长度固定为N,每次采样得到一个新数据放到队尾,并丢掉原来队首的一次数据,把队列中的N个数据进行平均运算,就可以获得新的滤波 ...

  7. matlab实现滑动平均滤波(二)

    滑动平均(moving average):在地球物理异常图上,选定某一尺寸的窗口,将窗口内的所有异常值做算术平均,将平均值作为窗口中心点的异常值.按点距或线距移动窗口,重复此平均方法,直到对整幅图完成 ...

  8. 利用Excel VBA批量计算气象数据多个台站多年来春季和冬季降水量和平均气温

    气象数据是地理数据的重要组成部分,存储量虽然不大,但是处理过程非常繁琐,长时序数据更不用说.本文总结了一个气象数据的基本处理方法. 如下图所示,气象数据的排列格式是区站号→年→月→降水量→平均气温,时 ...

  9. 各纬度气候分布图_读我国一月平均气温分布图,寻找我国冬季气温最高和最低的地方...

    地图是地理学的语言,地图能够科学地反映出自然和社会经济现象的分布特征及其相互关系,所以我们阅读地图也能获取许多的地理信息.之前我们已经通过读中国年平均气温分布图.世界年降水量分布图.世界年平均气温分布 ...

最新文章

  1. 是时候改变自学编程方法了,这篇国外网友的分享被fast.ai创始人等点赞
  2. 在循环中删除list中的元素
  3. 05APR2022 日期格式这样的怎么转换成日期?
  4. 普通RNN的缺陷—梯度消失和梯度爆炸
  5. 数字信号处理常见知识点汇总
  6. ARCore 之路:如何创建一个 ARCore 程序?
  7. Java毕业设计-资产管理系统
  8. 在线点餐外卖系统 毕业设计毕业论文参考(1)功能
  9. 特殊回文数,123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。蓝桥杯问题一次性解答,含JAVA,C++代码
  10. python数据容器
  11. 电脑连接另一台电脑发出wifi时,显示ip4无访问权限,ip6无访问权限
  12. 蜂鸣器演奏《两只老虎》
  13. 淘宝图片指纹匹配功能c#实现
  14. IDEA2018版本相关配置
  15. 专业测评:iphone7致命缺陷曝光
  16. Firefox for Mac(火狐浏览器 mac)一款速度快到飞起的浏览器
  17. Python基础--魔法方法()运算符重载)
  18. 正确获取星期几(Calendar.DAY_OF_WEEK)
  19. Day 09 (JAVA中的queryWrapper)
  20. 如何合并视频?教你把多个视频合并成一个视频

热门文章

  1. win10定时执行python脚本实现自动订餐
  2. 张飞电子-烟雾报警器DIY知识整理
  3. 根据详细地址获取经纬度
  4. python 将图片切割成固定大小的图片脚本
  5. 摩托罗拉XT535官方刷机兼救砖图文视频教程
  6. goland报错:package XXX is not in GOROOT (X:\XXX\Go\src\XXX)
  7. 长风破浪正其时,Python天谴变通途(9)(字典:不仅仅可以look over哦)
  8. 大多数的我们被困于信息茧房?
  9. python环境安装有问题_python基础——python安装及问题解决
  10. 可拖拽表格列组件(可以禁止拖动列如序号)