python对NOAA天气数据格式转换

简介: python对NOAA天气数据格式转换

转换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 FTP

def  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
相关文章
|
Python
Python实现简易天气查询系统
Python实现简易天气查询系统
624 4
|
存储 数据挖掘 数据库
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
|
7月前
|
数据采集 数据可视化 安全
基于python大数据的天气可视化分析预测系统
本研究探讨基于Python的天气预报数据可视化系统,旨在提升天气数据获取、分析与展示的效率与准确性。通过网络爬虫技术快速抓取实时天气数据,并运用数据可视化技术直观呈现天气变化趋势,为公众出行、农业生产及灾害预警提供科学支持,具有重要的现实意义与应用价值。
|
API 索引 Python
Python 教程之 Django(13)使用 Django 的天气应用程序
Python 教程之 Django(13)使用 Django 的天气应用程序
174 0
|
数据可视化 前端开发 数据挖掘
【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
本文介绍了一个基于Python Flask框架的广州历史天气数据应用与可视化大屏系统,该系统通过数据采集、处理、分析和可视化技术,提供了丰富的气象数据展示和决策支持,帮助用户快速了解和应对气象变化。
722 110
【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
|
机器学习/深度学习 数据采集 传感器
使用Python实现深度学习模型:智能极端天气事件预测
使用Python实现深度学习模型:智能极端天气事件预测
1123 3
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:智能天气预测与气候分析
使用Python实现深度学习模型:智能天气预测与气候分析
2074 3
|
数据采集 JSON 数据可视化
基于Python的全国主要城市天气数据可视化大屏系统
本文介绍了一个基于Python开发的全国主要城市天气数据可视化大屏系统,该系统利用requests库进行数据采集、Pandas进行数据处理与分析,并采用Echarts和Flask实现数据的可视化展示和Web交互,以直观、实时地呈现天气变化趋势。
912 2
基于Python的全国主要城市天气数据可视化大屏系统
|
测试技术 API 开发者
Python 魔法:打造你的第一个天气查询小工具自动化测试框架的构建与实践
【8月更文挑战第31天】在这篇文章中,我们将一起踏上编程的奇妙旅程。想象一下,只需几行代码,就能让计算机告诉你明天是否要带伞。是的,你没有听错,我们将用Python这把钥匙,解锁天气预报的秘密。不论你是编程新手还是想拓展技能的老手,这篇文章都会为你带来新的视角和灵感。所以,拿起你的键盘,让我们一起创造属于自己的天气小工具吧!
|
数据采集 存储 数据可视化
【优秀python数据分析案例】基于python的中国天气网数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的中国天气网数据采集与可视化分析系统,通过requests和BeautifulSoup库实现数据爬取,利用matplotlib、numpy和pandas进行数据可视化,提供了温湿度变化曲线、空气质量图、风向雷达图等分析结果,有效预测和展示了未来天气信息。
4446 3

推荐镜像

更多