拓端tecdat|python对NOAA天气数据格式转换
原文链接: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天气数据格式转换相关推荐
- python数据文件格式p_python对NOAA天气数据格式转换
转换NOAA天气数据文件" .fly"为Pandas DataFrame 获取数据 ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily In [ ...
- 拓端tecdat荣获掘金社区入驻新人奖
2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...
- 拓端tecdat荣获2022年度51CTO博主之星
相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...
- 拓端tecdat|bilibili视频流量数据潜望镜
最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- Python模块学习 ---- struct 数据格式转换
Python是一门非常简洁的语言,对于数据类型的表示,不像其他语言预定义了许多类型(如:在C#中,光整型就定义了8种),它只定义了六种基本类型:字符串,整数,浮点数,元组,列表,字典.通过这六种数据类 ...
- python结合ogr2ogr之地理数据格式转换-2
python结合ogr2ogr之地理数据格式转换-1 这篇公众号文章里,初步记录了使用python调用org2ogr进行数据格式转换以及打包exe的过程,测试了常用的几种数据,shp数据.dxf数据. ...
最新文章
- [源码和文档分享]基于Netty和WebSocket的Web聊天室
- python 函数的嵌套 和 作用域链
- GNU make manual 翻译( 一百一十三)
- 关于上拉电阻的使用总结
- idea无法引用jar包中的class
- pdf拼版插件_pdf文件中的文字批量转曲的办法
- 【学习笔记-集合】HashMap 源码浅析
- 最实用的logback讲解(1)
- Redis快照(Snapshot)特点
- iOS手势操作简介(五)
- Android 生成分享长图并且添加全图水印
- navicat远程连接mysql,2003 can't connect to mysql server on 10038
- 【语音去噪】基于matlab GUI傅立叶变换语音降噪混频【含Matlab源码 297期】
- ad中按钮开关的符号_弱电图纸中敷设方式符号表示大全
- 郭琳加冕 2022第三季完美大师 全球人气季军
- python大数据计算_大数据计算平台 python
- jQuery实现瀑布流布局(1+X Web前端开发初级 例题)
- 无线数字DR平板探测器维修瓦里安PaxScan 4030X分析
- 狂送京东购物卡(无门槛¥1200)
- 使用Excel制作一个动态计划表