Использование приведенной ниже конструкции для удаления десятичной точности (. & 0), когда значение равно, скажем, 3,0, и округление до 4 знаков после запятой, когда значение равно, например, 3.12345
import pandas as pd
df1 = pd.DataFrame({'Price':[1.0,2.12345,3.0,4.67892]})
df1["Price"] = df1["Price"].apply(lambda x: round(x,4) if x%1 else int(x))
print(df1)
Округление работает, но не преобразование в int.