pandas .DataFrame.round () дает несколько непредсказуемый вывод для следующего фрейма данных. Может кто-нибудь, пожалуйста, помогите мне понять, что здесь происходит?
df = pd.DataFrame([(61.21, 69.32), (65.1938, .67)], columns=['A', 'B'], dtype='float32')
df.round(2)
Вышеприведенный код выводит:
A B
0 61.209999 69.32
1 65.190002 0.67
Почему раунд (2) не усекает все, кроме первых 2 цифр после десятичной точки ? Когда я пытаюсь сделать то же самое с dtype = 'float64', он работает и выдает следующее:
df.astype('float64').round(2)
A B
0 61.21 69.32
1 65.19 0.67
Есть ли что-то в значениях во фрейме данных?
Я не хочу форматировать вывод как строку (round (2) .applymap ('{:. 2f}'. Format)), чтобы получить желаемое количество десятичных знаков. Я хочу знать, почему столбцы дают различное количество цифр после десятичной точки.
Я использую pandas версия '0.24.1'.