Загрузка данных


import numpy as np

def perfect_matrix(matrix):
    new_matrix = matrix.copy().astype(float)

    mean_val = np.mean(new_matrix)
    std_val = np.std(new_matrix)

    m_max = mean_val + std_val
    m_min = mean_val - std_val

    new_matrix = np.clip(new_matrix, m_min, m_max)

    denominator = m_max - m_min

    if denominator != 0:
        new_matrix = (new_matrix - m_min) / denominator
    else:
        new_matrix = new_matrix - m_min
        

    return np.round(new_matrix, 3)