for i_tfbh in tf_list_all: iyear = int(str(i_tfbh)[0:4]) print(i_tfbh,iyear) wka_tf = tf_data[tf_data['tfbh']==i_tfbh].copy() wka_tf['distance'] = wka_tf.apply(lambda x:distance(x['longitude'],x['latitude'],lon_,lat_),axis=1) wka_tf['距离范围'] = pd.cut(wka_tf['distance'],bins=[0,80,999999],labels=['[0,80]','(80,Inf]'],right=True) wka_tf = wka_tf[wka_tf['distance']<=80].copy() if wka_tf.empty: continue wka_tf['风速范围'] = pd.cut(wka_tf['speed'],bins=[0,32.7,37,41.5,46.2,51,56.1,999999],\ labels=['[0,32.7)','[32.7,37)','[37,41.5)','[41.5,46.2)','[46.2,51)','[51,56.1)','[56.1,Inf)'],\ right=False) wka_tf = pd.merge(wka_tf,peifu,how='left',on=['风速范围','距离范围']) money = wka_tf['money'].max() out_tf = out_tf.append({'台风编号':i_tfbh,'年':iyear,'台风赔付':money},ignore_index=True)
时间: 2023-06-15 12:06:00 浏览: 64
这段代码看起来是用来处理一个包含台风信息的数据集,并计算每个台风对应的赔付金额。具体来说,它会遍历所有的台风编号,在数据集中找到对应的台风记录,并计算该记录与给定经纬度的距离。然后,它会基于距离将记录分为两个范围:[0,80]和(80,Inf),并过滤掉距离大于80的记录。接着,它会将速度分为七个范围,并基于速度范围和距离范围,从另一个数据集中查找对应的赔付金额。最后,它会将该台风的最大赔付金额和台风编号存入另一个数据集中。
相关问题
sal=ncread(file,'sosaline'); Sal=sal(kk); Sal_month(:,iyear-2011)=Sal;
这段代码是使用 MATLAB 中的函数 `ncread` 从一个 NetCDF 格式的文件中读取变量 `sosaline` 的数据,然后将其中第 `kk` 个元素赋值给变量 `Sal`。最后将 `Sal` 存储在一个大小为 `(1, num_years)` 的数组 `Sal_month` 中的第 `iyear-2011` 个列。其中 `num_years` 是这些数据涵盖的年数。这段代码可能是针对一个含有海洋盐度数据的 NetCDF 文件进行处理。
for iyear in range(styr,edyr+1): wka = data[data['Year_new']==iyear].copy() diff_max = 0 stdate = 0 for i in range(0,len(wka)-2): t_1 = wka.iloc[i]['TEM_Min'] t_2 = wka.iloc[i+1]['TEM_Min'] t_3 = wka.iloc[i+2]['TEM_Min'] diff = max(t_1-t_2,t_1-t_3,t_2-t_3) if diff > diff_max: diff_max = diff stdate = wka.iloc[i]['date'] out_dw = out_dw.append({'年':wka.iloc[0]['Year_new'],'stdate':stdate,'diff':diff_max},ignore_index=True) out_dw['低温赔付'] = out_dw.apply(lambda x:get_money_dw(x['diff']),axis=1) out_dw.to_csv(str(staCode)+'低温具体赔付详情.csv',encoding='gbk')转成R代码
for (iyear in styr:edyr){
wka <- data[data$Year_new==iyear,]
diff_max <- 0
stdate <- 0
for (i in 1:(nrow(wka)-2)){
t_1 <- wka$TEM_Min[i]
t_2 <- wka$TEM_Min[i+1]
t_3 <- wka$TEM_Min[i+2]
diff <- max(t_1-t_2,t_1-t_3,t_2-t_3)
if (diff > diff_max){
diff_max <- diff
stdate <- wka$date[i]
}
}
out_dw <- rbind(out_dw, data.frame('年'=wka$Year_new[1], 'stdate'=stdate, 'diff'=diff_max))
}
out_dw$低温赔付 <- apply(out_dw, 1, function(x) get_money_dw(x['diff']))
write.csv(out_dw, paste0(staCode, '低温具体赔付详情.csv'), row.names=FALSE, fileEncoding='gbk')
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)