Page 1 of 1

Verwenden mehrerer Masken basierend auf der ID

Posted: 05 Sep 2025, 01:38
by Anonymous
Ich habe einen DataFrame DF , der aus zwei Spalten besteht: eine ID und ein Datum . Die ID ist eine Nummer von 1-3 & nicht eindeutig; Das Datum ist ein DateTime -Objekt.

Code: Select all

id, date
1, 2020-5-11
1, 2019-3-2
2, 2018-7-29
3, 2017-2-21
3, 2017-2-23
Es gibt auch eine entsprechende Liste, die die ID mit einem verknüpften Start- und Enddatum enthält:

Code: Select all

id, startdate, enddate
1, 2015-1-1, 2020-1-1
2, 2019-2-1, 2020-2-31
3, 2017-2-1, 2020-2-31
Ich möchte df filtern, um alle Zeilen auszuschließen, wo für jede ID das Datum im Bereich des startdate und enddate nach oben angegeben wird. Aber ich weiß nicht, wie man sie alle gleichzeitig macht. < /p>

Code: Select all

for each, startdate, enddate in ids:
mask = (df['date'].dt.date >= startdate) & (df['date'].dt.date 
Die gewünschte Ausgabe für das Dummy -Beispiel wäre ein Datenrahmen, der das folgende (d. H. Mit Ausnahme aller Zeilen, für die das Datum der für jede ID spezifischen Datumsspezifikum ist) < /p>
enthält. < /p>
id, date
1, 2019-3-2
3, 2017-2-21
3, 2017-2-23