Здесь я думаю, что вы можете использовать форматирование строки. Я использую '${:,.2f}'.format(1234.5)
(источник здесь ) для форматирования долларов и центов, но я смог использовать тот же метод форматирования в лямбда-функции для вашего числа с плавающей точкой.
import pandas as pd
data = {'kl' : [0.600001, 0.600001, 0.600000, 0.600000,
0.600587, 0.601573, 0.601168, 0.600001,
0.600001, 0.600001, 0.600000, 0.600001,
0.600001, 0.600001, 0.600001, 0.850001]}
df = pd.DataFrame.from_dict(data)
def custom_round(x, base=5):
return base * round(float(x)/base)
df['A'] = df['kl'].apply(lambda x: custom_round(x, base=.05))
df['b'] = "D = " + df['A'].apply(lambda s: '{:,.5f}'.format(s))