I have a dataframe that looks like this:
np.random.seed(21)
df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B1', 'B2', 'B3'])
df['current_State'] = [df['B1'][0], df['B1'][1], df['B2'][2], df['B2'][3], df['B3'][4], df['B3'][5], df['B1'][6], df['B2'][7]]
df

I need to create a new column that contains the name of the column where the value of 'current_State' is the same, this is the desired output:

I tried many combinations of apply and lambda functions but without success. Any help is very welcome!