读取 /home/mw/input/beijing_weather5275/beijing_weather.csv 文件,计算 2021-09-18 00:00:00~2021-09-24 00:00:00 北京最高和最低露点温度之差(保留整数位)。
import pandas as pd
import numpy as np
df = pd.read_csv("/home/mw/input/beijing_weather5275/beijing_weather.csv")
df = df.replace(999999.000000, np.nan) #异常值替换为nan
def ludian(t,rh):
if np.isnan(t) or np.isnan(rh):
return np.nan
else:
return 237.7*(17.27*t/(237.7+t) + np.log( rh/100 ))/(17.27-(17.27*t/(237.7+t) + np.log( rh/100 ))) #求露点温度的公式
df['ludian'] = df.apply(lambda x : ludian(x['t'],x['rh']),axis=1) #将计算的露点温度加入dataframe
df.describe() #可以查看露点温度的最大值和最小值
a1=int(df.loc[:,"ludian"].max()-df.loc[:,"ludian"].min()) #dataframe某列数据的最大值减去最小值
其实还应该检验一下读取的数据时间范围是否是题目中的时间范围,如果不是,还需要筛选一下时间。