I do this kind of thing pretty regularly, here's some code that you could run from the Python window in Pro to do what you need. I've put in a bunch of comments to explain what each part does, you'll need to adjust paths to the data, possibly field names, but hopefully it gives you a good start:
# Create a list of fields you want to use. This is an easy
# case because both tables use the same fields.
field_list = ["NUMBER", "KVA", "TYPE", "SVOLTAGE", "PVOLTAGE"]
# This is a key:value lookup that will contains "keys" made up
# of the first three fields, pointing to values containing pairs
# of the last two fields.
voltage_lookup = dict()
# This will read the contents of the source table into the lookup.
with arcpy.da.SearchCursor(r"C:\Data\data.gdb\voltage_src", field_list) as sc:
for row in sc:
lookup_key = row[:3]
lookup_val = row[3:]
if lookup_key in voltage_lookup:
# This presumably shouldn't happen but is a good data
# quality check.
print(f"Duplicate key found: {voltage_key}")
else:
voltage_lookup[lookup_key] = lookup_val
# This will read each record in the destination table, read the three-value
# key, consult the lookup, and update the last two fields appropriately.
with arcpy.da.UpdateCursor(r"C:\Data\data.gdb\voltage_dest", field_list) as uc:
for row in uc:
lookup_key = tuple(row[:3])
# This is a quick check to see if we have a record in our destination
# table that isn't in the source table.
if lookup_key not in voltage_lookup:
continue
# Do the lookup and post the update.
lookup_val = voltage_lookup[lookup_key]
update = lookup_key + lookup_val
uc.updateRow(update)