У меня есть фрейм данных pandas, в котором некоторые столбцы имеют числовые значения, а другие нет, как показано ниже:
City a b c
Detroit 129 0.54 2,118.00
East 188 0.79 4,624.4712
Houston 154 0.65 3,492.1422
Los Angeles 266 1.00 7,426.00
Miami 26 0.11 792.18
MidWest 56 0.24 772.7813
Я хочу округлить эти числовые значения до 2 десятичных знаков, для которыхЯ использую:
df = df.replace(np.nan, '', regex=True)
После чего df становится:
City a b c
Detroit 129.0 0.54 2,118.0
East 188.0 0.79 4,624.47
Houston 154.0 0.65 3,492.14
Los Angeles 266.0 1.0 7,426.0
Miami 26.0 0.11 792.18
MidWest 56.0 0.24 772.78
В основном работает нормально, но также преобразует правильные целые числа в десятичные, т. Е. Значения, подобные 100, округляются до100,0. Я хочу, чтобы кадр данных был таким:
City a b c
Detroit 129 0.54 2,118
East 188 0.79 4,624.47
Houston 154 0.65 3,492.14
Los Angeles 266 1 7,426
Miami 26 0.11 792.18
MidWest 56 0.24 772.28
Я хочу сохранить такие значения как собственные целые числа, округляя остальные до 2 десятичных знаков во всех числовых столбцах. Как я могу это сделать?