Задача на реализацию функции расчета описательных статистик

smjm

Новичок
Пользователь
Май 27, 2020
1
0
1
Я новичок и не понимаю как это сделать, помогите, пожалуйста, это срочно.
Реализовать функцию расчета описательных статистик: среднего, минимума, максимума, размаха, дисперсии, стандартного отклонения, количества наблюдений. Все значения должны рассчитываться в одной функции, результат – словарь, где ключами будут являться имена рассчитываемых характеристик, значениями – их расчетные значения. Проверку функций осуществлять по списку из 100 наблюдений, содержащих случайные данные по равномерному закону распределения (в границах от 1 до 100). Выполнить задание: а) без использования библиотек, б) с использованием библиотек.
 

Vlad_SD

Активный пользователь
Пользователь
Апр 7, 2020
91
45
18
Python:
"""
df.mean() --> среднее
df.min() --> минимальное
df.max() --> максимальное
df.max() - df.min() --> размах
df.std() --> стандартное отклонение
df.var() --> дисперсия
df.count() --> количество наблюдений
"""

import pandas as pd
import random


def descriptive_statistics_pandas(data_lst):
   
    df = pd.Series(data_lst)
    _dict = {
        'mean': df.mean(),
        'min': df.min(),
        'max': df.max(),
        'range': df.max() - df.min(),
        's.deviation': df.std(),
        'variance': df.var(),
        'count': df.count()
    }
    return _dict


def descriptive_statistics_python(data_lst):
   
    mean = sum(data_lst) / len(data_lst)
    minimum = min(data_lst)
    maximum = max(data_lst)
    lst_range = max(data_lst) - min(data_lst)
    sqr_sum = [i**2 for i in data_lst]
    s_div = ((sum(sqr_sum)+mean*mean*len(data_lst)-2*sum(data_lst)*mean)/(len(data_lst)-1))**0.5
    _var = s_div**2
    _len = len(data_lst)

    _dict = {
        'mean': mean,
        'min': minimum,
        'max': maximum,
        'range': lst_range,
        's.deviation': s_div,
        'variance': _var,
        'count': _len
    }
    return _dict


lst = [random.uniform(1, 101) for _ in range(100)]
descriptive_statistics_pandas(lst)
descriptive_statistics_python(lst)
 
Последнее редактирование:

Форум IT Специалистов