#数据处理 #历史 #下载 #Parquet #网络 #Parquet文件 #每日

应用程序 ushcn

美国历史气候学网络数据下载器

3个不稳定版本

0.2.2 2024年7月18日
0.2.1 2024年7月18日
0.2.0 2024年7月17日
0.1.0 2024年7月17日

#1 in #每日

Download history 276/week @ 2024-07-16 11/week @ 2024-07-23 14/week @ 2024-07-30

每月301次下载

MIT/Apache

100KB
1.5K SLoC

美国历史气候学网络数据下载器

NOAA维护了一个从1875年至今的美国每日气候数据集。数据包括1200个站点的每日最高和最低温度以及降水量。

每日原始数据是压缩文本格式,需要进一步处理才能使用

USC00011084192601TMAX-9999   -9999   -9999   -9999   -9999   -9999 ...
USC00011084192602TMIN   33  6   22  6   67  6    0  6   11  6   17 ...
USC00011084192602PRCP    0  6  381  6    0  6    0  6    0  6    0 ...
...

此仓库提供了一个Rust二进制程序,可以下载数据、解压它并将其保存为Apache Parquet数据文件。此文件易于导入Python数据框进行处理

                     id   tmax  tmin  prcp
date
1898-06-14  USC00324418   NaN    6.7   1.2
1898-06-15  USC00324418   NaN    7.8   0.0
1898-06-16  USC00324418   12.3   5.6   0.0
1898-06-17  USC00324418   14.4   8.9   0.1
1898-06-18  USC00324418   19.1   7.2   1.2
...

使用方法

> ghcn daily
Downloading
Unpacking
...
File saved to `/Users/richardlyon/ushcn-daily-2024-07-16.parquet`

> ghcn monthly
Downloading
Unpacking
...
File saved to `/Users/richardlyon/ushcn-monthly-2024-07-16.parquet`

> ghcn stations
Downloading
ile saved to `/Users/richardlyon/ghcnd-stations-2024-07-17.parquet`

此仓库不包括任何数据处理脚本。然而,以下是一个示例

import pandas as pd
import matplotlib.pyplot as plt

parquet_file_path = Path("/path/to/ghcnd_hcn.parquet")
df = pd.read_parquet(parquet_file_path)
df.set_index("date", inplace=True)
df = df.groupby(df.index)["tmax"].max()
df.plot(y="tmax", kind="line", title="Max Temp")

max_temp

变更日志

0.2.1 - 修复月度数据下载中的错误。0.2.2 - 将经纬度添加到每日读数

依赖项

~34–49MB
~1M SLoC