Verwendung mehrerer Masken basierend auf der IDPython

Python-Programme
Anonymous
 Verwendung mehrerer Masken basierend auf der ID

Post by Anonymous »

Ich habe einen Datenrahmen df, der aus zwei Spalten besteht: einer ID und einem Datum. Die ID ist eine Zahl von 1-3 und 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 verknüpftem 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, in denen für jede ID das Datum außerhalb des Bereichs von Startdatum und Enddatum liegt, wie in der obigen Liste angegeben.
Ich kann es pro ID tun, indem ich den folgenden Code verwende; aber ich weiß nicht, wie ich sie alle gleichzeitig machen soll.

Code: Select all

for each, startdate, enddate in ids:
mask = (df['date'].dt.date >= startdate) & (df['date'].dt.date

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post