Si los datos se ve como la captura de pantalla que no es necesario el uso de Field_A, Field_B sólo necesita ser llenado con -90,90,-90,90 etc.. Intente esto en la Ventana de Python de ArcGIS:
import arcpy
fc = r'C:\data.gdb\feature_class' #Change
field = 'Field_B'
givemenumbers = iter([-90,90]*1000000)
with arcpy.da.UpdateCursor(fc,field) as cursor:
for row in cursor:
row=next(givemenumbers)
cursor.updateRow(row)
Si no funciona esto, con cualquier número y el orden de Field_A valores. Los Pandas cumcount será el número de cada elemento en cada grupo, y el 90 o 90 se calcula en función par o impar de numeración utilizando if/else con la comprensión de listas:
import arcpy
import pandas as pd
fc = 'Pointsample' #Change
field_a = 'Field_A' #Change
field_b = 'Field_B' #Change
df = pd.DataFrame.from_records(data=arcpy.da.SearchCursor(fc,field_a), columns=[field_a])
values = iter([-90 if v%2==0 else 90 for v in df.groupby(field_a).cumcount().tolist()])
with arcpy.da.UpdateCursor(fc,field_b) as cursor:
for row in cursor:
row=[next(values)]
cursor.updateRow(row)