0
我们有两个表:连接两个熊猫Dataframes
表1:事件日志
class EventLog(Base):
""""""
__tablename__ = 'event_logs'
id = Column(Integer, primary_key=True, autoincrement=True)
# Keys
event_id = Column(Integer)
data = Column(String)
signature = Column(String)
# Unique constraint
__table_args__ = (UniqueConstraint('event_id', 'signature'),)
表2:Machine_Event_Logs
class Machine_Event_Logs(Base):
""""""
__tablename__ = 'machine_event_logs'
id = Column(Integer, primary_key=True, autoincrement=True)
# Keys
machine_id = Column(String, ForeignKey("machines.id"))
event_log_id = Column(String, ForeignKey("event_logs.id"))
event_record_id = Column(Integer)
time_created = Column(String)
# Unique constraint
__table_args__ = (UniqueConstraint('machine_id', 'event_log_id', 'event_record_id', 'time_created'),)
# Relationships
event_logs = relationship("EventLog")
EventLogs
和Machine_Event_Logs
之间的关系是1太多。
因此,我们在EventLogs
表中注册一个唯一事件日志,然后在每次遇到该事件时向Machine_Event_Logs
注册数百万条目。
目标:我们试图加入这两个表来显示捕获的事件日志的整个时间线。
我们已经尝试了Panda Dataframe中merge()
函数的多种组合,但它只返回一堆NaN或空。例如:
pd.merge(event_logs, machine_event_logs, how='left', left_on='id', right_on='event_log_id')
有关如何解决此问题的任何想法?
预先感谢您的帮助。
感谢您捡这件事。令人难以置信的是真棒。 –