| 484 | self.output.append(logL[-2:] + logL[:-2]) |
| 485 | |
| 486 | def WriteEventToFile(self): |
| 487 | eventID_template = { |
| 488 | event.eventId: " ".join(event.eventStr) for event in self.eventsL |
| 489 | } |
| 490 | eventList = [ |
| 491 | [event.eventId, " ".join(event.eventStr), event.eventCount] |
| 492 | for event in self.eventsL |
| 493 | ] |
| 494 | eventDf = pd.DataFrame( |
| 495 | eventList, columns=["EventId", "EventTemplate", "Occurrences"] |
| 496 | ) |
| 497 | eventDf.to_csv( |
| 498 | os.path.join(self.para.savePath, self.logname + "_templates.csv"), |
| 499 | index=False, |
| 500 | ) |
| 501 | |
| 502 | self.output.sort(key=lambda x: int(x[0])) |
| 503 | self.df_log["EventId"] = [str(logL[1]) for logL in self.output] |
| 504 | self.df_log["EventTemplate"] = [ |
| 505 | eventID_template[logL[1]] for logL in self.output |
| 506 | ] |
| 507 | if self.keep_para: |
| 508 | self.df_log["ParameterList"] = self.df_log.apply( |
| 509 | self.get_parameter_list, axis=1 |
| 510 | ) |
| 511 | self.df_log.to_csv( |
| 512 | os.path.join(self.para.savePath, self.logname + "_structured.csv"), |
| 513 | index=False, |
| 514 | ) |
| 515 | |
| 516 | """ |
| 517 | For 1-M and M-1 mappings, you need to decide whether M side are constants or variables. This method is to decide which side to split |