Есть вопросик.
Юзаю модуль pandas для сбора статистики.
Есть объект series, который в свою очередь состоит из данных типа float64.
Считаю среднее, квантили и прочую канитель.
После хочу увидеть целые значения.
Потому применяю функцию round()
метод df.round у пандаса почему-то ругается на округление int, что в общем-то логично.
bmin = df_delta_msec.min() min = round(bmin) y = type (min) print ("Min", min, y) bmean=df_delta_msec.mean() mean = round(bmean) z = type(mean) print ("Среднее", mean, z) bmedian=df_delta_msec.median() median = round(bmedian) print ("Медиана", median) bquantile990=df_delta_msec.quantile(.99) quantile990 = round(bquantile990) v = type(quantile990) print ("Квантиль99,0", quantile990, v) bquantile999=df_delta_msec.quantile(.999) quantile999 = round (bquantile999) print ("Квантиль 99,9", quantile999) bStandardDeviation=df_delta_msec.std() StandardDeviation = round(bStandardDeviation) print ("Стандартное отклонение", StandardDeviation) bmax=df_delta_msec.max() max = round(bmax) print ("Макс", max) quotity=df_delta_msec.count() print ("Количество", quotity)
Получаю разные типы данных. С минимальным все понятно - ищется само значение. Но почему у среднего тип становится int, а квантиль так и остается float64? Или не остается, а переходит в int, а потом обратно в float64?
Стандартное отклонение тоже int.
На выходе получаю разные типы из массива одного типа:
<class ‘numpy.float64’>
Min 63.0 <class ‘numpy.float64’>
Среднее 728 <class ‘int’>
Медиана 685
Квантиль99,0 1620.0 <class ‘numpy.float64’>
Квантиль 99,9 14831.0
Стандартное отклонение 713
Макс 15727.0
Количество 64085
Есть в этом какой-то сакральный смысл?