Создание матрицы изменения статуса из двух матриц состояния (нужна помощь в программировании для более эффективного поиска матрицы) - PullRequest
0 голосов
/ 06 ноября 2018

Проблема: у меня 2 матрицы, обе являются «Матрицами состояния». В основном это выглядит примерно так:

ID, дата, статус 1, статус 2, ....., статус 54

1, 01/20, "бла", 2, ....., 28

Я пытаюсь создать новую матрицу, в которой каждая строка представляет изменение статуса для того же идентификатора, это выглядит примерно так:

ID переменной Предыдущее значение, Новое значение, Последняя дата, Новая дата

1, Статус 1, 11, 15, 01-01, 01-20

1, Статус 10, 12, 18,. ...

1, статус 17, 25, 23, ...

1, статус 27, 13, 16, ....

Прямо сейчас я вставляю две таблицы и упорядочиваю их по идентификатору, а затем по дате, после чего я делаю цикл for, который переходит с шагом в 2 по строкам и проверяет все столбцы, когда он находит 1 значение, которое отличается от приведенного ниже и добавляет его в матрицу change.values ​​

код:

for i in range(0,Encontrados_con_Cambios.shape[0],2):

    for j in range(1,Encontrados_con_Cambios.shape[1]-1):  

        if ((Encontrados_con_Cambios.iloc[i,j] != Encontrados_con_Cambios.iloc[i+1,j]) and 
        (not pd.isnull(Encontrados_con_Cambios.iloc[i,j]) or (not pd.isnull(Encontrados_con_Cambios.iloc[i+1,j])))):

                    Cambios = Cambios.append([{'id': Encontrados_con_Cambios.iloc[i,0],
                         'Variable': Encontrados_con_Cambios.columns[j],
                         'Fecha_Inicial': Encontrados_con_Cambios.iloc[i+1,53],
                         'Fecha_Final': Encontrados_con_Cambios.iloc[i,53],
                         'Estado_Inicial': Encontrados_con_Cambios.iloc[i+1,j],
                         'Estado_Final': Encontrados_con_Cambios.iloc[i,j] }],ignore_index=True)

Любая помощь очень ценится

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