最近帮同事处理一批气象数据,统计某省多个地市50年的的平均降雨量,excle折腾半天,还可能卡死,python几十行代码即可,不得不佩服pandas库的强大。

"""@Author  : ISR@contact: 846924329@qq.com@Software: PyCharm@FileName: get_meteorology.py@Time    : 2020/5/18 9:46@desc:
"""
import pandas as pd
from pandas.core.frame import DataFrame
import numpy as npdef main(in_path, out_path, star,end):# 读取气象数据df = pd.read_csv(in_path, header=0, index_col=0, engine='python')data = np.zeros((len(citys), 2))for i in range(len(citys)):# 进度条pst = int(100 * (i + 1) / len(citys))print('\r{0}{1}{2}%'.format(("计算中".split("\\")[-1]), '▉' * int(pst / 10), (pst)), end='')dataframe = df[(df['站名'] == citys[i]) & (df['year'] >= star) & (df['year'] <= end)]# 秋季 6月到9月autumn = df[(df['站名'] == citys[i]) & (df['year'] >= star) & (df['year'] <= end) & (df['mouth'] < 10) & (df['mouth']  >=6)]# 春季 10月到次年6月(这里利用pandas去重函数drop_duplicates,实际是为了取余)dataframe = dataframe.append(autumn)spring = dataframe.drop_duplicates(keep=False)# 最后一列为降雨量autumn = (autumn.values)[:, -1]spring = (spring.values)[:, -1]# 计算年均值autumn_mean = (np.sum(autumn[np.where(autumn > 0)]))/(end-star+1)spring_mean = (np.sum(spring[np.where(spring > 0)]))/(end-star+1)data[i, 0] = autumn_meandata[i, 1] = spring_meanmeteorology = DataFrame(data, columns=["autumn","spring"], index=citys)meteorology.to_csv(out_path)if __name__ == '__main__':citys = [“石家庄”,“天津”] # 站名star = 1990 # 起始年份end = 2019 # 结束年份in_path =r"C:\Users\marshmallow\Desktop\04_气象数据\in.csv" # 输入out_path = r"C:\Users\marshmallow\Desktop04_气象数据\out.csv"# 输出main(in_path, out_path, star, end)

1、输入数据结构图(降雨数据倒数第一列)。

2、将一年分成了冬、求两季。
秋季作物-当年6月到当年9月
春季作物–当年10月到次年5月

python+pandas气象数据处理相关推荐

  1. python pandas excel数据处理_Python利用pandas处理Excel数据的应用

    python如何将列表导出为csv文件 import pandas as pd list=[[1,2,3],[4,5,6],[7,8,9]] column=['column1','column2',' ...

  2. python pandas excel数据处理_Python处理Excel数据-pandas篇

    Python处理Excel数据-pandas篇 非常适用于大量数据的拼接.清洗.筛选及分析 在计算机编程中,pandas是Python编程语言的用于数据操纵和分析的软件库.特别是,它提供操纵数值表格和 ...

  3. python气象绘图速成_基于Python气象数据处理与可视化分析

    基于 Python 气象数据处理与可视化分析 张鑫 ; 曹蕾 ; 韩基良 [期刊名称] <气象灾害防御> [年 ( 卷 ), 期] 2020(027)001 [摘要] 全国综合气象信息共享 ...

  4. 打印钻石图形python_Python pandas高效数据处理之绘图

    Pandas是Python中非常常用的数据处理工具,使用起来非常方便.它建立在NumPy数组结构之上,所以它的很多操作通过NumPy或者Pandas自带的扩展模块编写,这些模块用Cython编写并编译 ...

  5. python 取反_自从用了这招pandas 空数据处理方法,python编程速度提升了不少

    今天为大家带来的内容是:自从用了这招pandas 空数据处理方法,python编程速度提升了不少 文章内容主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工 ...

  6. Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介、具体案例、使用方法之详细攻略

    Python之pandas:pandas中数据处理常用函数(与空值相关/去重和替代)简介.具体案例.使用方法之详细攻略 目录 pandas中数据处理常用函数(isnull/dropna/fillna/ ...

  7. 豆瓣新书速递数据爬取与简单数据处理 | 豆瓣爬虫 python pandas

    豆瓣新书速递数据爬取与简单数据处理 概要 数据爬取 爬取豆瓣平台提供的数据,存储到本地 json 文件. 数据说明 URL 豆瓣新书速推 HTML https://book.douban.com/la ...

  8. Python+大数据-数据处理与分析-pandas快速入门

    Python+大数据-数据处理与分析-pandas快速入门 1.Pandas快速入门 1.1DataFrame和Series介绍 1)DataFrame 用来处理结构化数据(SQL数据表,Excel表 ...

  9. 【数据可视化应用】xarray 绘图可视化(五)-二进制GrADS气象数据处理(附代码)

    二进制GrADS气象数据处理(Ⅰ) 在GrADS中,数据的读取的逻辑是采用数据文件和数据信息(元信息)分离的方法,因而对于GrADS类数据是由两个独立的文件存储的. 第一个文件--数据文件:这个数据文 ...

最新文章

  1. java linux 面试题_java 面试题
  2. mysql keepalived双主双活_Keepalived单网络双活双主配置模式
  3. tomcat的日志文件权限与启动用户的权限不一致
  4. 第一个Sprint冲刺第六天
  5. . NET5一出,. NET岗面试普遍喊难,真相是…
  6. webpack配置说明
  7. H5活动产品设计指南基础版
  8. 通过[AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]html页面调用cs的方法
  9. javascript模态窗口Demo
  10. 分支 getchar和putchar
  11. AutoWare 使用
  12. 外网/公网出口IP查询方法汇总
  13. 质量管理用因果分析计算机成绩差,项目质量管理中的因果分析图
  14. 用HTML和JavaScript写的RSA加密小工具
  15. Echarts实现图表下钻
  16. 基于微信小程序的驾校报名管理系统
  17. 视频安防“上帝视角“的畅想
  18. 龙族幻想服务器维护中怎么办,龙族幻想社团维护费用不足怎么办_龙族幻想社团维护费用解决攻略_玩游戏网...
  19. 淘宝天猫API_获取商品详情原数据
  20. python中计数器的用法_python – 使用单例作为计数器

热门文章

  1. dtree加载菜单基本使用方法
  2. 使用MySQL找出地理围栏中心(重心)的简单方法
  3. centos7 最小安装 ELK7.9.0 生产部署 elasticsearch7.9.0 + kibana7.9.0 一键部署
  4. 图像语义分割模型综述
  5. babun(一种window下的命令行工具)安装篇
  6. odoo 上下文对象
  7. Miniconda安装pytorch
  8. matlab 字符串 匹配,matlab中字符串匹配函数
  9. 方便日常电脑操作的小软件及常见电脑故障修复方法(不断更新)
  10. 分享:自动输入串口命令并截取log的python脚本