Вы можете использовать numpy.modf
для экстрактов с плавающей точкой до fractional
и integral
частей и только для округления fractional
части, последнее добавление вместе:
df = pd.DataFrame([110100.0, 1.0, 1.12345678], dtype=np.float32, columns=['col'])
a, b = np.modf(df['col'])
print (b + np.round(a, 7))
0 110100.000000
1 1.000000
2 1.123457
Name: col, dtype: float32
Другим решением является умножение на число для округления, преобразование в целое число и деление:
val = 10**7
print (df['col'].mul(val).astype(np.int64).div(val))
0 110100.000000
1 1.000000
2 1.123457
Name: col, dtype: float64