原文链接:http://tecdat.cn/?p=7679

原文出处:拓端数据部落公众号

转换NOAA天气数据文件“ .fly”为Pandas DataFrame

获取数据 ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily

In [1]:

import  matplotlib.pyplot  as  plt
import  pandas  as  pd
import  numpy  as  np
import  re
import  ftplib% matplotlib notebook

In [2]:

# download data from FTPdef  download_file_from_ftp ( FTP_SERVER , FTP_PATH , FILENAME ): with  ftplib . FTP ( FTP_SERVER )  as  ftp : ftp . login () ftp . cwd ( FTP_PATH ) with  open ( FILENAME ,  'wb' )  as  f : ftp . retrbinary ( 'RETR '  +  FILENAME ,  f . write )

查询站ID

In [3]:

def  get_station_ID ( station_to_find ,  filename ): for  line  in  open ( filename ): if  station_to_find  in  line : line_with_station = line station_ID = re . split ( " " , line_with_station )[ 0 ] return  station_ID return  None
# warning, it is slow, download it only once
download_file_from_ftp ( "ftp.ncdc.noaa.gov" , "/pub/data/ghcn/daily" ,  "ghcnd-stations.txt" )station_to_find = "GUANGZHOU"  # USE CAPS
station_ID = get_station_ID ( station_to_find ,  "ghcnd-stations.txt" )

下载天气数据

In [4]:

weather_data_filename = station_ID + '.dly'# warning, it is slow, download it only once
download_file_from_ftp ( "ftp.ncdc.noaa.gov" ,  "/pub/data/ghcn/daily/all" ,  weather_data_filename )

将.fly转换为pandas Dataframe

In [7]:

 df = convert_dly_to_dataframe ( weather_data_filename )
df . head ()

Out[7]:

YEAR MONTH ELEMENT VALUE1 VALUE2 VALUE3 VALUE4 VALUE5 VALUE6 VALUE7 ... VALUE22 VALUE23 VALUE24 VALUE25 VALUE26 VALUE27 VALUE28 VALUE29 VALUE30 VALUE31
0 1945 11 TAVG NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN 107.0 NaN
1 1945 12 TAVG 123.0 136.0 152.0 144.0 146.0 189.0 219.0 ... 179.0 146.0 128.0 107.0 104.0 112.0 122.0 127.0 129.0 156.0
2 1946 1 TAVG 150.0 150.0 123.0 117.0 112.0 121.0 125.0 ... 146.0 153.0 173.0 196.0 211.0 212.0 218.0 201.0 156.0 131.0
3 1946 2 TAVG 114.0 112.0 147.0 181.0 195.0 192.0 149.0 ... 201.0 196.0 231.0 226.0 221.0 229.0 240.0 NaN NaN NaN
4 1946 3 TAVG 237.0 162.0 142.0 133.0 183.0 187.0 160.0 ... 183.0 192.0 205.0 216.0 223.0 238.0 207.0 195.0 233.0 228.0

拓端tecdat|python对NOAA天气数据格式转换相关推荐

  1. python数据文件格式p_python对NOAA天气数据格式转换

    转换NOAA天气数据文件" .fly"为Pandas DataFrame 获取数据 ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily In [ ...

  2. 拓端tecdat荣获掘金社区入驻新人奖

    2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...

  3. 拓端tecdat荣获2022年度51CTO博主之星

    相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...

  4. 拓端tecdat|bilibili视频流量数据潜望镜

    最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...

  5. 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测

    最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...

  6. 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...

  7. 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例

    最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...

  8. 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险

    最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...

  9. Python模块学习 ---- struct 数据格式转换

    Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典.通过这六种数据类 ...

  10. python结合ogr2ogr之地理数据格式转换-2

    python结合ogr2ogr之地理数据格式转换-1 这篇公众号文章里,初步记录了使用python调用org2ogr进行数据格式转换以及打包exe的过程,测试了常用的几种数据,shp数据.dxf数据. ...

最新文章

  1. [源码和文档分享]基于Netty和WebSocket的Web聊天室
  2. python 函数的嵌套 和 作用域链
  3. GNU make manual 翻译( 一百一十三)
  4. 关于上拉电阻的使用总结
  5. idea无法引用jar包中的class
  6. pdf拼版插件_pdf文件中的文字批量转曲的办法
  7. 【学习笔记-集合】HashMap 源码浅析
  8. 最实用的logback讲解(1)
  9. Redis快照(Snapshot)特点
  10. iOS手势操作简介(五)
  11. Android 生成分享长图并且添加全图水印
  12. navicat远程连接mysql,2003 can't connect to mysql server on 10038
  13. 【语音去噪】基于matlab GUI傅立叶变换语音降噪混频【含Matlab源码 297期】
  14. ad中按钮开关的符号_弱电图纸中敷设方式符号表示大全
  15. 郭琳加冕 2022第三季完美大师 全球人气季军
  16. python大数据计算_大数据计算平台 python
  17. jQuery实现瀑布流布局(1+X Web前端开发初级 例题)
  18. 无线数字DR平板探测器维修瓦里安PaxScan 4030X分析
  19. 狂送京东购物卡(无门槛¥1200)
  20. 使用Excel制作一个动态计划表

热门文章

  1. Dynamic CRM2013安装系列三、SQL及CRM2013安装
  2. shell编程之函数简单使用
  3. 23 模块代码编写基础
  4. 汽车维保反欺诈系统的设计和算法应用
  5. 几种实用的pythonic语法
  6. LVM逻辑卷管理总结
  7. 0819 - 要想富,追新不守旧
  8. easyui missingMessage
  9. 下载安装tomcat和jdk,配置运行环境,与Intellij idea 2017关联
  10. hibernate 中的一级缓存 二级缓存