Эффективно ли создавать сводку данных в Symmertic Matrix? - PullRequest
0 голосов
/ 11 февраля 2019

Для любого данного кадра данных с только числовыми данными я хочу создать квадратную матрицу (с размерами, равными количеству столбцов), чтобы суммировать следующую информацию в каждой из ячеек - длину каждого столбца, сумму элементов вкаждый столбец, сумма квадратов элементов и т. д.,?

Ниже приведен текущий код, который я сделал, и выполнение которого занимает много времени.Можем ли мы сделать это более эффективным?

def create_summary(df):
    col = df.columns.tolist()
    df_matrix = df.values
    l = len(col)
    x ={} 
    z={}                                                                 
    for i in range(l):
        z[i] = []
        for j in range(l):
            y= df_matrix[:,j]
            z= df_matrix[:,i]
            x[i,j] = np.array([])

             """
            This code makes calculations for all the basic elements in the table. They are appended to
            a lists of a dictionary.
            """

            x[i,j] = np.append(x[i,j], [len(z), z.sum(), (z**2).sum(),
                        len(y), y.sum(), (y**2).sum(), (z*y).sum(), ((z*y)**2).sum()] )
            z[i].append(x[j,i])


    result = pd.DataFrame(z, index=col)
    result.columns = col
    return(result)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...