Seite 1 von 1

Pandas Duplikate

Verfasst: Donnerstag 26. Dezember 2019, 16:00
von PyN
Hallo zusammen,

ich möchte gerne den Wert von Duplikaten in meinem Dataframe anpassen.

Der Dataframe sieht folgendermaßen aus:

date | value
2002-02-28 | 3
2002-02-28 | 3
2002-02-28 | 3

Der Zieldataframe sieht folgendermaßen aus:

date | value
2001-12-31 | 3
2002-01-31 | 3
2002-02-28 | 3

Hintergrund ist folgender: Ich habe Daten auf Quartalsebene und ich möchte diese Daten jedem Monat innerhalb diesem Quartal zuweisen. Dazu habe ich die rows in meinem Dataframe dreimal kopiert.

Meine Idee war eine Spalte einzufügen:

Code: Alles auswählen

df['is_duplicate']=df.duplicated()
Damit bekomme ich für das erste Duplicate den Wert False. Basierend auf dieser Spalte würde ich das 'date' ändern:

Code: Alles auswählen

df['date']=df.where(df['is_duplicate']==False, df['date']- timedelta(days=30), axis=1)
Dies würde ich nochmal durchführen und danach 60 Tage abziehen.

Leider führt das nicht zu dem gewünschten Ergebnis sondern führt dazu, dass zwei der drei Zeilen mit NULL Values gekennzeichnet werden und das date sich gar nicht ändert.

Kann mir jemand dabei weiterhelfen? Wäre echt sehr dankbar dafür.

Re: Pandas Duplikate

Verfasst: Donnerstag 26. Dezember 2019, 16:36
von Sirius3
als erstes wäre ein komplettes und funktionierendes Beispiel ganz hilfreich.
Warum willst Du die Daten drei mal kopieren, wenn Du sie gar nicht kopiert haben willst, sondern verändert? Der direkte Weg wäre doch, erstmal einen Dataframe mit allen gewünschten Daten zu erzeugen und dann die fehlenden Werte zu ergänzen.