Die Frage ist ein Mix aus Datenbank & Pandas.
Folgende Ausgangslage: Es existiert eine Datenbank mit mehreren Tabellen. Dabei gibt es eine zentrale Tabelle (ähnlich wie das Star-Schema) - ich nenne sie im folgenden einfach mal MAIN.
Alle Tabellen referenzieren auf die Tabelle MAIN.
Die Tabelle MAIN hat eine ID als Primary Key und diese ID ist über alle anderen Tabellen Konstant. Die Zuordnung ist also immer eindeutig. Allerdings kann eine Tabelle beliebig oft auf die MAIN Tabelle Referenzieren (ich glaube das nennt man dann Many to One Relation)
Die Tabellen Abseits von MAIN (Ich nenne sie mal A,B,C,D,...) referenzieren auch untereinander aufeinander. Es gibt eine Referenz von A nach B. Zusätzlich gibt es indirekte Verbindungen. C und B sind nicht per Many To One miteinander verbunden. Sie Referenzieren teilweise auf die gleiche MAIN Reihe.
Ach und es kann sein, dass die Referenz von A nach B optional ist, während die von A nach MAIN immer verpflichtend ist.
Nun habe ich Pandas und kann mir jede Tabelle einzeln als Dataframe von der Datenbank einlesen.
Jetzt kommen wir zur Problemstellung:
Ich möchte eine Art Flat Dataframe erzeugen - ich nenne es DF_FLAT.
Dieses DF_FLAT beinhaltet jede Valide Kombination aus MAIN.ID, A.ID, B.ID, C.ID, ....
Die Kombinationen ergeben sich jedoch aus individuellen Zusammenhängen und teilweise aus indirekten Verknüpfungen.
Zudem sind die Anzahl der Einträge pro Tabelle unterschiedlich.
Ich habe einzelne Kombinationsdataframes erzeugt, die so auch valide sind.
Nun möchte ich die unterschiedlichen Dataframes miteinander vereinen.
Die Vereinigung geschieht jeweils über den Abgleich der ID und den daraus resultierenden validen Kombinationen der Nebentabellen.
Versteht man mich ungefähr?
Im Prinzip möchte ich die Relation von den Nebentabellen auf die MAIN Tabelle umkehren und von der MAIN auf die Nebentabellen zeigen. Der Datensatz hat über 6 Mio Einträge. Brutforce der entstehenden Permutationen beliebiger Kombinationen scheint mir ziemlich langwierig

Eventuell fehlt mir nur ein Suchwort