Длинный цикл итерации данных - PullRequest
0 голосов
/ 10 декабря 2018

Уважаемые, у меня есть фрейм данных, содержащий много столбцов и строк (40000 строк), как показано ниже,

введите описание изображения здесь

Многие строки имеют столбец "CVLAN_description".NAN, я хочу заполнить его другой строкой, имеющей значение при некотором условии, если два столбца равны ('C-VLAN' и 'Имя SPO'), это означает, что традиционным способом у меня будет два внутренних цикла for для итерации каждой строки ввсе строки, чтобы увидеть, соответствует ли условие или нет, что приведет к 40000 * 40000 итераций, это может занять несколько часов на моем ноутбуке при запуске моего кода:

for index, row in with_VLANe_after.iterrows():
        if row['CVLAN_description']!='nan':
            for index2, row2 in with_VLANe_after.iterrows():
               if  row['C-VLAN'] ==row2['C-VLAN'] and 
                  row2['Service_name']=='nan' and row['SPO Name'] 
                  ==row2['SPO Name'] and 
                  row['S-VLAN'] ==row2['S-VLAN']  : with_VLANe_after.set_value(index2,'CVLAN_description',row['CVLAN_description'])
                 print (row['CVLAN_description'])

Любой может помочь мне избежать длительноговремя итерации.

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