played_3d = played.reshape(m, 1, n) & played.reshape(m, n, 1)
played_3d[:, (nrng), (nrng)] = False
scores = np.where(played, v, -1)
winners = np.where(played_3d, scores.reshape(m, 1, n) > scores.reshape(m, n,
    1), 0)
games_played = played_3d.sum(0)
games_won = winners.sum(0)
pairwise = np.empty((n, n), dtype=np.float)
pairwise.fill(np.nan)
r, c = np.where(games_played != 0)
pairwise[r, c] = games_won[r, c] / games_played[r, c]
pairwise_comparisons = pd.DataFrame(pairwise, df.columns, df.columns).stack()
pairwise_comparisons.loc['Foo', 'Bar']
0.5
1-vs-1 comparisons from multi-player games