If there is indeed a shape issue, might a workaround be to work with “long format” data? I.e. stack your columns into the index then reset the index? If your data isn’t encoded already you can also then define player_idx as a categorical series, which is nice as you can pick up the codes to select the correct indices of the RVs you’ve defined. The categories would used as the player_coords.
I see you’ve uploaded your data; I’ll give this a crack later, as writing out code is likely clearer than my explanation!