天气数据处理,缺失值异常处理

lows_highs.py

import csv
from matplotlib import pyplot as plt
from datetime import datetime

filename='death_valley_2014.csv'
with open(filename) as f:
    reader=csv.reader(f)
    header_row=next(reader)

    highs=[]
    dates=[]
    lows=[]
    for row in reader:
        try:
            current_date=datetime.strptime(row[0],"%Y-%m-%d")
            high=int(row[1])
            low=int(row[3])
        except ValueError:
            print(current_date,'missing date')
        else:
            dates.append(current_date)
            highs.append(high)
            lows.append(low)

fig=plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c='red',alpha=0.5)

plt.plot(dates,lows,c='blue',alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1)

plt.title("Daily high temperature 2014",fontsize=24)
plt.xlabel('',fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature ",fontsize=16)
plt.tick_params(axis='both',which='major',labelsize=16)
plt.show()

运行结果

 

SWAT模型中气象数据的计算翻译By:94527257 The Program pcpSTAT User’s Manual Stefan Liersch, Berlin, August 12, 2003 stliersch@freenet.de 下载地址:http://www.brc.tamus.edu/swat/pcpSTAT.zip 引言 pcpSTAT.exe 程序用来计算SWAT 模型气象发生器所需要的每日降水数据的统计 参数(userwgn.dbf)。表1 中列出的一些参数能毫不费力地利用MICROSOFT EXCEL 等 工具计算出来,而PR_W1 和 PR_W2 比较难计算。 表 1:SWAT 所用的降水统计参数 PCPMM(mon) = average or mean total monthly precipitation PCPSTD(mon) = standard deviation for daily precipitation in month PCPSKW(mon) = skew coefficient for daily precipitation in month PR_W1(mon) = probability of a wet day following a dry day PR_W2(mon) = probability of a wet day following a wet day PCPD(mon) = average number of days of precipitation in month 输入文件 存储着每日降水数据的输入文件必须是只有一列数字的 ASCII 码文本文件(图1)。 观测期必须是开始于1 月1 日,结束于12 月31 日。换句话说,第一个数据值是1 月1 日的,最后一个是12 月31 日的。虽然对利用的总年数没有限制,但每一次的计算都 必须是基于一整年。 若是有缺失的数据,需要用空值(必须是数字)来填充这些缺失的数据值。程序 会询问这些值,并用整个系列的平均值取代空值。 图1: Example of a Precipitation Input File 翻译By:94527257 创建输入文件 降水数据文件通常是文本文件,一列是日期,一列为降水值。用EXCEL 打开数据 文件,若有必要可以缩减日期,以使其从1 月1 日开始,12 月31 日结束。随后,删除 日期列,只剩降水数据列,并保存为文本文件(filename.txt)。 若是使用其它软件创建输入文件或是之后使用文本编辑器操作文件,确保最后存 在一个空行。若是没有空行或是超过一个空行,程序将会中断并弹出消息“End of file during read”,且将会产生错误的输出数据 运行 pcpSTAT.exe 程序 将程序和输入文件放在同一个目录,双击 pcpSTAT.exe 或是从DOS 窗口中启动程 序(图2)。键入输入、输出文件的名字(包括其扩展名),至于输出文件,可以任意命 名。下一步,需要输入起始年份,用来判断一个年份是否是闰年。只要键入第一年(4 位数字)回车。此后,需要输入无数据值,若降水数据有缺测,需要输入一个并不存 在的数字,例如“999”。 图2: Program pcpSTAT.exe 在计算结束后,输出文件(图3)会自动保存在程序目录中。此外,还会生成2 个文件:totalpcp.sta 和mean_pcp.sta。totalpcp.sta(图4)包含了每年每个月的总降水, mean_pcp.sta 则包含每年每个月的平均每日降水。 翻译By:94527257 图3: Example of an Output File 翻译By:94527257 图4: Example of the File totalpcp.sta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值