Ich versuche, eine neue Spalte in einem vorhandenen Datenrahmen zu erstellen, basierend auf der Auswertung, ob Werte jemals in zwei Spalten existieren.Pandas Multicolumn-Auswertung zum Generieren einer neuen Spalte
Angenommen, der folgende Teil eines mittleren Datensatzes (30 Millionen Datenpunkte) ist:
DATE |ID |3_DAY_FUTURE
2016-12-14|Bob123|2016-12-17
2016-12-15|Bob123|2016-12-18
2016-12-16|Bob123|2016-12-19
2016-12-17|Bob123|2016-12-20
2016-12-18|Bob123|2016-12-21
2016-12-19|Bob123|2016-12-22
2016-12-20|Bob123|2016-12-23
2017-01-14|Jim123|2017-01-17
2017-01-15|Jim123|2017-01-18
2017-01-16|Jim123|2017-01-19
2017-01-17|Jim123|2017-01-20
2017-01-18|Jim123|2017-01-21
2017-01-19|Jim123|2017-01-22
2017-01-20|Jim123|2017-01-23
Ich suche eine Spalte zu erstellen, die jeder ID (Bob und Jim in diesem Beispiel) bewertet, ob hat ein Datumswert, der 3 Tagen in der Zukunft entspricht. Zum Beispiel war Bob123 am 14.12.2016 und 17.12.2016 anwesend, da beide DATEs mit ihm assoziiert sind. Die erste Zeile würde eine neue Spalte hinzufügen, die Ja oder so ähnlich sagt. Hier ist ein Beispiel für die Ausgabe Ich hoffe, suche mit einem neuen 3_DAY_STATUS Spalten:
DATE |ID |3_DAY_FUTURE|3_DAY_STATUS
2016-12-14|Bob123|2016-12-17|YES
2016-12-15|Bob123|2016-12-18|YES
2016-12-16|Bob123|2016-12-19|YES
2016-12-17|Bob123|2016-12-20|YES
2016-12-18|Bob123|2016-12-21|NO
2016-12-19|Bob123|2016-12-22|No
2016-12-20|Bob123|2016-12-23|NO
2017-01-14|Jim123|2017-01-17|YES
2017-01-15|Jim123|2017-01-18|YES
2017-01-16|Jim123|2017-01-19|YES
2017-01-17|Jim123|2017-01-20|YES
2017-01-18|Jim123|2017-01-21|NO
2017-01-19|Jim123|2017-01-22|NO
2017-01-20|Jim123|2017-01-23|NO
Irgendwelche Vorschläge sehr geschätzt werden.
Danke @jezrael. Funktioniert mit kleineren Datasets, aber es dauert wirklich Stunden im gesamten Dataset, da nur auf einem Prozessor gearbeitet wird. Diese Zeile im Einzelnen: mask = df.groupby ('ID'). Apply (Lambda x: x ['3_DAY_FUTURE']. Isin (df.DATE)). Werte – echoecho256
Ja, es ist ein bisschen problematisch mit der Leistung. Was ist mit der zweiten Antwort? – jezrael
Die zweite Antwort scheint die Segmentierung oder Gruppierung nach ID nicht zu berücksichtigen. scheint nur nach einem Offset zu suchen, unabhängig davon, ob die ID immer noch dieselbe ist – echoecho256