Untitled
unknown
plain_text
a year ago
1.3 kB
4
Indexable
def trace_back_parents_with_end_if(self,df, sequence_number):
# print(indexes[0])
print(type(df))
print(df)
result_rows = []
end_if_rows = []
current_seq = sequence_number
print("\n\nPRITING SEQUENCE : \n\n")
print(type(current_seq))
print(current_seq)
while True:
row = df[df['Sequence'] == str(current_seq)]
if row.empty:
break
result_rows.append(row)
cond_seq = row['Conditional_Seq'].values[0]
if pd.isna(cond_seq):
break
current_seq = str(int(float(cond_seq)))
result_df = pd.concat(result_rows).sort_values(by='Sequence')
for index, if_row in result_df.iterrows():
if_seq = str(float(if_row['Sequence']))
end_if_row = df[(df['Keywords'].str.startswith('END')) &
(df['Conditional_Seq'] == if_seq)]
if not end_if_row.empty:
end_if_rows.append(end_if_row)
if end_if_rows:
end_if_df = pd.concat(end_if_rows)
final_df = pd.concat([result_df, end_if_df]).sort_values(by='Sequence')
else:
final_df = result_df
print("PRINTING TRACE BACKC DF:",final_df)
return final_dfEditor is loading...
Leave a Comment