Проблема: у меня 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)
Любая помощь очень ценится