Filterdaten basierend auf zwei Spalten aus einem anderen Datenrahmen basierenPython

Python-Programme
Anonymous
 Filterdaten basierend auf zwei Spalten aus einem anderen Datenrahmen basieren

Post by Anonymous »

Ich habe die folgenden zwei Datenrahmen: < /p>

Code: Select all

df = pd.DataFrame({
'id': ['1', '1', '2', '3', '3', '8','4', '1', '2', '4'],
'start': ['2017-01-01', '2017-02-01', '2017-03-01', '2017-02-01', '2017-03-01', '2017-04-01', '2017-01-01', '2017-04-01', '2017-05-01', '2017-02-01'],
'end': ['2017-01-02', '2017-02-4', '2017-03-02', '2017-02-06', '2017-03-01', '2017-04-03', '2017-01-06', '2017-04-08', '2017-05-04', '2017-02-01']
})

df1 = pd.DataFrame({
'date': ['2017-01-02', '2017-02-01', '2017-03-01', '2017-02-01', '2017-03-01', '2017-04-01'],
'id': ['1', '2', '3','4', '5', '6']
})
Ich wollte aus df nur die Zeilen extrahieren, wobei die ID in df mit id in df1 übereinstimmt, und das Datum in der DF1 passt auch das df und Ende und Ende Ich kann die ID einfach aus df extrahieren, indem ich vergleichen kann, ob dieselbe ID im zweiten DataFrame df1 verwendet wird:

Code: Select all

df_filtered = df[(df['id'].isin(df1['id']))]
Ich konnte jedoch nicht verwalten, Datum von df1 mit dem Start und end von df zu vergleichen. Was ich als Ausgabe wollte, ist Folgendes: < /p>

id start end
0 1 2017-01-01 2017-01-02
4 3 2017-03-01 2017-03-01
9 4 2017-02-01 2017-02-01
< /code>

Datum, Start- und Endspalten befinden sich bereits im DateTime-Format Y-M-D. Jede Hilfe wird geschätzt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post