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

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

In [1]:

import matplotlib.pyplot as pltimport pandas as pdimport numpy as npimport reimport 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 = linestation_ID = re . split ( " " , line_with_station )[ 0 ]return station_IDreturn None# warning, it is slow, download it only oncedownload_file_from_ftp ( "ftp.ncdc.noaa.gov" , "/pub/data/ghcn/daily" , "ghcnd-stations.txt" )station_to_find = "GUANGZHOU" # USE CAPSstation_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 oncedownload_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

python数据文件格式p_python对NOAA天气数据格式转换相关推荐

  1. 【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

    由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:<ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换>,但是该文章中的做法只能一次性 ...

  2. ENVI5.4完美实现MODIS NDVI数据格式转换和投影变换

    如上图所示,分别为: View1:MODIS hdf数据多波段 View2:MODIS NDVI波段 View3:ArcGIS10.8投影变换后的MODIS NDVI View4:ENVI5.4投影变 ...

  3. ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换

    大家都熟知,MODIS NDVI数据的处理一般是在MRT中进行的,但熟不知ArcGIS中也可以实现投影变换个数据格式的转换,本文就以MOD13Q1.A2020001.h26v05.006.202001 ...

  4. Python 数据可视化—下载数据(CSV文件格式、JSON格式)

    Python 数据可视化-下载数据CSV文件格式.JSON格式 网上下载数据,并对这些数据进行可视化,可视化以两种常见格式存储的数据:CSV 和JSON. 我们将使用Python模块csv 来处理以C ...

  5. python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)

    系列文章目录 python开发低代码数据可视化大屏:pandas.read_excel读取表格 python实现直接读取excle数据实现的百度地图标注 python数据可视化开发(1):Matplo ...

  6. Python数据可视化(处理天气数据)

    Python数据可视化(处理天气数据) 从csv文件中导入数据. import csvwith open('sitka_weather_07-2014.csv', 'r') as f:reader = ...

  7. python 雷达图像识别_Python 新一代多普勒天气雷达基数据可视化

    概述 本文首先介绍新一代多普勒天气雷达(CINRAD)数据格式,分析雷达基数据特征,根据相关算法进行反射率因子的数据可视化,得到平面位置显示(PPI)和距离高度显示(RHI)以及等高平面位置显示(CA ...

  8. 第十九章 python 数据可视化 Matplotlib Pygal

    python 数据可视化 一.使用Matplotlib生成数据图 1. matplotlib画图中文乱码小方框的解决方法 2. 知识点 3. 安装Matplotlib包 4. Matplotlib数据 ...

  9. Python数据可视化——使用Matplotlib创建散点图

    Python数据可视化--使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 转载请注明网址:https://www.cnblogs.com/pengsky2016/p/812 ...

最新文章

  1. crontab 总结
  2. Oracle游标学习笔记
  3. Rserve 实现java与R的互通
  4. Oracle 分析及动态采样
  5. 树莓派 Ubuntu mate 18.04 下开启vncserver
  6. 使用sklearn自带公式计算余弦相似度
  7. javascript --- repeat的用处
  8. ONNX系列四 --- 使用ONNX使TensorFlow模型可移植
  9. jQuery1.9.1源码分析--Deferred对象和Promise对象
  10. mysql 配置root密码_Mysql安装与配置调优及修改root密码的方法
  11. Oracle Shared Pool优化思路
  12. mock模拟接口测试_Python接口测试之mock(上)
  13. 常见网络安全威胁及防范
  14. 如何设置电脑的固定IP地址
  15. 如何快速在线生成latex table表格
  16. hive卡在最后一个reduce过不去_数据倾斜
  17. 或再被“转手”,家乐福中国还能“攀”上哪座靠山?
  18. 计算机文化论文5000字,大学生科技论文5000字
  19. 百度搜索稳定性问题分析的故事(上)
  20. Tomcat解决中文乱码

热门文章

  1. AMD总裁兼CEO苏姿丰再添要职 已被选为公司董事长
  2. 杭州微念申请李子柒商标被全部驳回,“最惨打工人”李子柒开始反击:已起诉!...
  3. 微信封杀lol手游活动小程序?《英雄联盟手游》回应了
  4. 中芯国际斥资570亿元上海建12英寸晶圆厂
  5. 降价到心痛也无人问津!这款手机成绝唱...
  6. 阿里云盘今日公测:无论用户是否付费,未来都不会限速
  7. 我年薪百万,孩子教育花掉一半
  8. 长城汽车申请“哈弗单身狗”、“哈弗奶狗”、“哈弗溜狗”等商标
  9. 定了!网易CEO丁磊6月11日快手直播带货
  10. 这个城市推出黄金“外卖”!价值低于5.8万元的,只能摩托车配送...