I have a shapefile and a layer file. In the shapefile, I am updating the last column using a .dbf file, which has numeric values. So, the last column of the shapefile will be updated five times and I have five data frames in one MXD file. So, whenever the shapefile gets updated, it has to go to a new data frame. Here is my code: ```py import arcpy arcpy.env.workspace = 'C:\\Users\\Jaggu\\Documents\\ArcGIS\\Default.gdb' mxd = arcpy.mapping.MapDocument(r"D:\Project\CROPWAT\WRR\DistrictScaleNew1\Block_scale\ArcMap\IWR2.mxd") lyrfile = r'D:\Project\CROPWAT\WRR\DistrictScaleNew1\Block_scale\ArcMap\AP_APWRIMS7.lyr' lyrfile1 = arcpy.mapping.Layer(lyrfile) #Converting to a layer file in the current env #update field updateFld = "IWR" #update fc key field IdFld = "dtname" #join feature class joinFc = r"D:\Project\CROPWAT\WRR\DistrictScaleNew1\Block_scale\ArcMap\IWR.dbf" #join value field to be transferred #joinValFld = dbffields[i] #join key field joinIdFld = "district" #create dictionary #Key: join field #Value: field with value to be transferred for index, item in enumerate(arcpy.mapping.ListDataFrames(mxd)): valueDists = [] for i in range(len(dfs)): arcpy.mapping.AddLayer(dfs[i],lyrfile1,"BOTTOM") joinValFld = dbffields[i] valueDist = {} valueDist = dict ([(key, val) for key, val in arcpy.da.SearchCursor(joinFc, [joinIdFld, joinValFld])]) valueDists.append(valueDist) currentlayers = [] #update feature class for i in range(len(valueDists)): #currentlayer = arcpy.mapping.ListLayers(dfs[i])[0] with arcpy.da.UpdateCursor (shpfile, [updateFld, IdFld]) as cursor: valueDist = valueDists[i] for update, key in cursor: row = (valueDist [key], key) print row cursor.updateRow (row) arcpy.mapping.UpdateLayer(dfs[i], shpfile, currentlayer, True) currentlayer = arcpy.mapping.ListLayers(dfs[i])[0] currentlayers.append(currentlayer) mxd.saveACopy('D:\\Project\\CROPWAT\\WRR\\DistrictScaleNew1\\Block_scale\\ArcMap\\AP_APWRIMS1.mxd') ``` The problem that I am facing is that the code is running without any errors but all five data frames were updated with the last updated shapefile data. Plot is looking like this: [![enter image description here][1]][1] But I want five different choropleths. I have already checked the last column of shapefile and it gets updated but it is not showing in ArcMap. What is wrong? My Original MXD file looks like this: [![enter image description here][2]][2] [1]: https://i.sstatic.net/lSgel.jpg [2]: https://i.sstatic.net/i0NjB.jpg