calc_ix = eine sehr sehr lange liste von Zeitwerten. Diese enthält teilweise auch werte aus den folgenden beiden:
timeix und timebarrier bilden jeweils paarweise zeitfenster ab. Also VON (timeix wert) BIS (timebarrier). Zu beginn klappt das ganz gut solange sich im Index nichts ändert.
Nun will ich aber eine Intersection finden wo ein paar aus timeix und timebarrier vollständig in calc_ix vorkommt (also nur timeix und timebarrier als paar, zwischenwerte sind egal)
Wertepaare wo nur ein wert auch in calc_ix ist, will ich droppen. (Also aus timeix und timebarrier entfernen).
Anschließend will ich die Indizes der vorhandenen Wertepaare von timeix und timebarrier in calc_ix finden.
Leider klappts nicht:
mein Code
Code: Alles auswählen
valid_pairs = [(a in calc_ix and b in calc_ix) for a,b in zip( timeix , timebarrier) ]
timeix = timeix[valid_pairs]
timebarrier = timebarrier[valid_pairs]
boolean_where_timix_in_calcix = [(x in t1_timeix) for x in calc_ix]
boolean_where_timebarrier_in_calcix = [(x in t1_timebarrier) for x in calc_ix]
for x,y in zip(calc_ix[boolean_where_timix_in_calcix ] , calc_ix[boolean_where_timebarrier_in_calcix ] ):
print(a,b) # es sind nicht mehr die gleichen wertepaare, woher ich das weiß? Zum test kommt bei werten wo timeix und timebarrier genau 1Tag auseinander liegen eine Lücke von meheren Tagen auf.
np.intersection lohnt sich nicht, da ich eine Intersection von 2 Werten als Paar und calc_ix brauche.
alle 3 müssen entweder Listen oder np.arrays bleiben, DataFrames darf ich aus performancegründen nicht verwenden (riesen Datensätze)