Панды используют 3 столбца для 2D распределения
ax.tricontourf(df.v1, df.v2, df.yy, cmap="copper")
Real Raccoon
ax.tricontourf(df.v1, df.v2, df.yy, cmap="copper")