python elif用法实战

来源:互联网 发布:mac 重装 编辑:程序博客网 时间:2024/06/17 23:49

背景

为了将航线分类,把国内机场用0标识,国际机场用1标识,地区机场(港澳台)用2标识,具体的航线分类情况见下图:
这里写图片描述
在已知航班的出发地和目的地属性时,如何利用PYTHON实现对航线的分类标识(即最终结果显示为E、F列)?
意思就是在EXCEL表中由已知前四列扩展后两列。

代码实现

import pandas as pd#导入cs文件原始数据dt=pd.read_excel('cs.xlsx')#定义两个新数组hxbz,hxlb,根据相关逻辑去扩充这两个数组。举个例子,经过排序后,出发地标识和目的地标识为[1,2],对应的航线标识为4.hxbz=[]hxlb=[]for i in dt.index:    if [dt.ix[i,1],dt.ix[i,3]]==[0,0]:hxbz.append(0),hxlb.append(u'国内-国内')    elif  [dt.ix[i,1],dt.ix[i,3]]==[1,1]:hxbz.append(5),hxlb.append(u'国际-国际')    elif [dt.ix[i,1],dt.ix[i,3]]==[2,2]:hxbz.append(3),hxlb.append(u'地区-地区')    elif sorted([dt.ix[i,1],dt.ix[i,3]])==[0,1]:hxbz.append(1),hxlb.append(u'国内-国际')    elif sorted([dt.ix[i,1],dt.ix[i,3]])==[0,2]:hxbz.append(2),hxlb.append(u'国内-地区')    elif sorted([dt.ix[i,1],dt.ix[i,3]])==[1,2]:hxbz.append(4),hxlb.append(u'地区-国际')    else:hxbz.append('NA')#将这两列数组扩展到dt数据框的后两列,并更新列名dt[u'航线类别']=hxlbdt[u'航线标识']=hxbz   #写入cs文件并覆盖原始文件dt.to_excel('cs.xlsx')
0 0