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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NOAA(美国国家海洋和大气管理局)提供了许多具有重要科学意义的数据,这些数据通常以nc格式文件提供下载。 NC格式文件(NetCDF文件)是一种用于存储科学数据文件格式,它在地球科学、大气科学、海洋科学等领域被广泛使用。这种文件格式具有以下特点: 1. 多维数据结构:NC文件可以存储多维数组数据,例如时间、经纬度、高度等。对于气象和海洋学家来说,这种数据结构非常重要,因为它们通常需要处理三维或四维的数据。 2. 自描述性:NC文件不仅包含数据本身,还包含了数据的描述信息。这些描述信息可以包括数据坐标、单位、变量的名称等。这使得科学家在使用这些数据时更容易理解和解释。 3. 支持数据压缩:NC文件可以通过使用压缩算法来减小文件的大小。这对于存储大量数据非常有用,因为它可以节省存储空间并加快数据的传输速度。 通过下载NOAA提供的NC格式文件,科学家可以获得许多有关地球、大气和海洋的重要数据。这些数据可以用于各种研究和应用领域,例如气象预测、海洋模拟、气候变化研究等。科学家可以使用各种软件工具来读取和解析NC文件,以获得所需的数据,并进行进一步的分析和处理。 总而言之,NOAA提供的NC格式文件对于科学家来说是非常宝贵的资源,它们为我们研究和了解地球系统提供了重要的数据基础。通过下载和使用这些文件,我们可以更好地理解和预测自然界中发生的现象,为保护环境和人类生活提供科学依据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值