The error indicates that when you call data.min(), and data.max(), it returns objects of pandas.Series, and not scalar values. Because these series passed to the TwoSlopeNorm expect a vmin and vmax to be given a single value but are in fact arrays (series) with their contents of several values.
To fix that, you might use.min().min() and .max().max() and would be sure that you are taking the minimum or maximum value of the whole DataFrame. That means these extract scalar values of the min and max of all cells in the table rather than series of these values.