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 10:06:00 浏览: 153
阳历转阴历_java
这段代码看起来是用来处理一个包含台风信息的数据集,并计算每个台风对应的赔付金额。具体来说,它会遍历所有的台风编号,在数据集中找到对应的台风记录,并计算该记录与给定经纬度的距离。然后,它会基于距离将记录分为两个范围:[0,80]和(80,Inf),并过滤掉距离大于80的记录。接着,它会将速度分为七个范围,并基于速度范围和距离范围,从另一个数据集中查找对应的赔付金额。最后,它会将该台风的最大赔付金额和台风编号存入另一个数据集中。
阅读全文