Используйте .format(":.n"%)
после применения функции apply
.
sample_tab = pd.DataFrame({'a': [-0.132, 0.234], 'b': [0, 0.534]})
sample_tab.style.apply(lambda x: ["background: red" if v < 0 else "background: green" if v > 0 else "" for v in x], axis = 1).format("{:.2}%")
sample_tab.style.apply(lambda x: ["background: red" if v < 0 else "background: green" if v > 0 else "" for v in x], axis = 1).format("{:.3}%")