Как создать матрицу смежности фреймов данных из сложных списков вложенных словарей? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть JSON вложенное значение словаря и списки ниже

relationship = 
{ 'DataCentre.java': 
  { 
      jRELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl 
      \RRDataCenterBroker.java: [Java Call - 
      com.datacentre.impl.RRDataCenterBroker.RRDataCenterBroker - 

      RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\
      impl\DataCentre.java

      (369,27), Java Create - com.datacentre.impl.RRDataCenterBroker - 

       RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
       \DataCentre.java(369,27)], 

       jRELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
       \Hosts.java: [Java Call - com.datacentre.impl.Hosts.Hosts -



        RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \DataCentre.java(297,36), Java Create - com.datacentre.impl.Hosts - 
        RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \DataCentre.java(297,36), Java Call Nondynamic - 
        com.datacentre.impl.Hosts.getWithMinimumNumberOfPesEquals - 
        RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \DataCentre.java(319,55), Java Call Nondynamic - com.datacentre.impl.Hosts.size - 
        RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \DataCentre.java(322,66), Java Typed - com.datacentre.impl.Hosts - 
        RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \DataCentre.java(292,30)], 
        jRELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
        \RRVmAllocation.java: [Java Call - 
         com.datacentre.impl.RRVmAllocation.RRVmAllocation - 
         RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
         \DataCentre.java(279,55), Java Create - com.datacentre.impl.RRVmAllocation - 
         RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
         \DataCentre.java(279,55), Java Typed - 
         com.datacentre.impl.RRVmAllocation - 
         RELATIVE:\RoundRobinDataCentreImplementation\src\com\datacentre\impl
         \DataCentre.java(279,24)]}, 'RRVmAllocation.java': 

            {
                   jRELATIVE:\RoundRobinDataCentreImplementation\src\com
                   \datacentre\impl\HostList.java: [Java Call - 
                   com.datacentre.impl.HostList.HostList - 
                   RELATIVE:\RoundRobinDataCentreImplementation\src\com
                   \datacentre\impl\RRVmAllocation.java(28,33), Java Create - 
                   com.datacentre.impl.HostList - 
                   RELATIVE:\RoundRobinDataCentreImplementation\src\com
                   \datacentre\impl\RRVmAllocation.java(28,33), Java Call 
                   Nondynamic - com.datacentre.impl.HostList.next - 
                   RELATIVE:\RoundRobinDataCentreImplementation\src\com
                   \datacentre\impl\RRVmAllocation.java(39,39), Java Typed - 
                   com.datacentre.impl.HostList - 
                   RELATIVE:\RoundRobinDataCentreImplementation\src\com
                   \datacentre\impl\RRVmAllocation.java(24,22)]

            }, 

            'HostList.java': {}, 
            'Hosts.java': {}, 
            'RRDataCenterBroker.java': {}
}

headers = list(relationship.keys())

y = dict()
        for key in relationship:
            new_list = []
            new_list.append(relationship.get(key))
            #print(key)
            #print(new_list)
            for i in range(len(new_list)):
                for k in new_list[i]:
                    print('key is ' + key)
                    print('relation is ')
                    print(k)
                    print('value is ')
                    print(len(new_list[i][k]))
                y = dict()

am = pd.DataFrame(np.zeros(shape=(5,5)), columns=list(headers), index=list(headers))
        print(am)

Связь между строковыми значениями строк и заголовков имеет целочисленное значение len (new_list [i] [k])

Я хочу создать двухмерную смежность с заголовками строк и столбцов, как показано на изображении ниже, имеющем матрицу [i] [j] для того же столбца строки i == j как 0 и для других значений, которые я получил в приведенном выше коде len (new_list [i] [k])

До сих пор я создал матрицу 5 * 5 для приведенного выше примера со значением np.zeros.

enter image description here

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