Я получаю странное поведение с np.floor и np.trun c, когда я использую pandas dataframes.
Это ожидаемое поведение, которое работает:
np.floor(30.000)
Out[133]: 30.0
Но вы можете видеть, что когда я делаю ряд, он неправильно обрабатывает «плавающие целые числа» и округляет их на единицу. Я использовал временное исправление добавления 0,00001 ко всему моему фрейму данных, что в моем случае хорошо из-за уровня, на который я округляюсь, но я хотел бы знать, что происходит и как это сделать правильно.
Редактировать: мне особенно нужна функция округления до нуля.
sample_series
2020-01-01 00:00:00 26.750
2020-01-01 01:00:00 27.500
2020-01-01 02:00:00 28.250
2020-01-01 03:00:00 30.000
2020-01-01 04:00:00 30.625
2020-01-01 05:00:00 31.000
2020-01-01 06:00:00 33.375
2020-01-01 07:00:00 33.750
2020-01-01 08:00:00 34.000
In: sample_series.apply(np.float)
Out:
2020-01-01 00:00:00 26.0
2020-01-01 01:00:00 27.0
2020-01-01 02:00:00 28.0
2020-01-01 03:00:00 29.0
2020-01-01 04:00:00 30.0
2020-01-01 05:00:00 30.0
2020-01-01 06:00:00 33.0
2020-01-01 07:00:00 33.0
2020-01-01 08:00:00 33.0
2020-01-01 09:00:00 33.0
2020-01-01 10:00:00 34.0