It sounds like you want to sum all values by basin ID. Use a dictionary. Use the basin ID as your key. Add values to your dictionary in an initial iteration of your table. Then iterate your table again and update your table.
import arcpy #dictionary for storing values di = {} #iterate table with arcpy.da.SearchCursor('Streams_Geology_R1', ["BASIN_ID", "VD_SUM", "VD_SUM_SUM"]) as cursor: for row in cursor: #get basin id bid = row [0] #get value vdsum = row [1] #try adding value to existing key indictionary try: di [bid] += vdsum #add key and value to dictionary except KeyError: di [bid] = vdsum #update table with arcpy.da.UpdateCursor ('Streams_Geology_R1', ["BASIN_ID", "VD_SUM_SUM"]) as cursor: for row in cursor: #get sum row [1] = di [row [0]] #update row cursor.updateRow (row)