首页 > 解决方案 > 需要根据州缩写或州全名为 Dataframe 字段分配区域代码

问题描述

我有两个数据框,一个带有地区代码、州缩写和州名。目标数据帧有一个状态字段,该字段具有两个字符的状态缩写或完整的状态名称。我目前正在遍历目标数据框并执行 if 语句以匹配缩写或全名,如果匹配,我会更新区域代码。目前,代码需要几个小时来运行目标数据帧中的 460k 记录。有没有更有效的方法来编写这个任务?我的代码如下所示:

reg_list = pd.read_csv('Regions.csv', sep = ';')
reg_list['st_upper'] = reg_list.State.str.upper()
cons_pcp_with_address['reg_cd'] = 99
for x, regx in reg_list.iterrows():
    for y, row in cons_pcp_with_address.iterrows():
        if cons_pcp_with_address.loc[y,'Provider Business Practice Location Address State Name'] == 
            reg_list.loc[x,'Abbr'] or 
            cons_pcp_with_address.loc[y,'Provider Business Practice Location 
            Address State Name'] == 
            reg_list.loc[x,'st_upper']:cons_pcp_with_address.loc[y,'reg_cd'] = 
            reg_list.loc[x,'Region']            
    y = 0

标签: pythonpandasdataframe

解决方案


推荐阅读