Pandas: So verhindern Sie, dass df.append () NaN-Werte zurückgibt

Peyo

Ich versuche, den Inhalt eines Datenrahmens an einen anderen anzuhängen. Hier ist ein grundlegendes Beispiel dafür, womit ich arbeite:

import numpy as np
import pandas as pd



df1 = pd.DataFrame({'Id': ['001','001','001','002','002','002','004','004'],
                    'Date':['2020-01-01','2020-01-02','2020-01-03','2020-01-01','2020-01-02','2020-01-03','2020-01-02','2020-01-03'],
                    'Quantity': [100,100,100,50,50,50,60,60],
                    'fx' :[1,1,1,2,2,2,1,1],
                    'fy' : [1,1,1,3,3,3,1,1]})

df2 = pd.DataFrame({'Id': ['001','001','001','002','002','002', '003'],
                    'Date':['2019-01-01','2019-01-02','2019-01-03','2019-01-01','2019-01-02','2019-01-03','2019-02-02'],
                    'Quantity': [100,100,100,50,50,50,20]})

Jetzt möchte ich den Inhalt von df2 an df1 anhängen, aber das Problem ist, dass es hier und da zu etwas NaN in df1 führt

histo = df1.append(df2)
histo = histo.sort_values('Id')
print(histo)

    Id        Date  Quantity   fx   fy
0  001  2020-01-01       100  1.0  1.0
1  001  2020-01-02       100  1.0  1.0
2  001  2020-01-03       100  1.0  1.0
0  001  2019-01-01       100  NaN  NaN
1  001  2019-01-02       100  NaN  NaN
2  001  2019-01-03       100  NaN  NaN
3  002  2020-01-01        50  2.0  3.0
4  002  2020-01-02        50  2.0  3.0
5  002  2020-01-03        50  2.0  3.0
3  002  2019-01-01        50  NaN  NaN
4  002  2019-01-02        50  NaN  NaN
5  002  2019-01-03        50  NaN  NaN
6  003  2019-02-02        20  NaN  NaN
6  004  2020-01-02        60  1.0  1.0
7  004  2020-01-03        60  1.0  1.0

Die Ausgabe, die ich erreichen möchte, ist, dass für jede 'Id'-Zeile die Werte von fx und fy weiterhin gleich sind. Das Ergebnis würde folgendermaßen aussehen:


    Id        Date  Quantity   fx   fy
0  001  2020-01-01       100  1.0  1.0
1  001  2020-01-02       100  1.0  1.0
2  001  2020-01-03       100  1.0  1.0
0  001  2019-01-01       100  1.0  1.0
1  001  2019-01-02       100  1.0  1.0
2  001  2019-01-03       100  1.0  1.0
3  002  2020-01-01        50  2.0  3.0
4  002  2020-01-02        50  2.0  3.0
5  002  2020-01-03        50  2.0  3.0
3  002  2019-01-01        50  2.0  3.0
4  002  2019-01-02        50  2.0  3.0
5  002  2019-01-03        50  2.0  3.0
6  003  2019-02-02        20  2.0  3.0
6  004  2020-01-02        60  1.0  1.0
7  004  2020-01-03        60  1.0  1.0

Was kann ich tun, um die oben genannte Ausgabe zu erzielen? Ich kann es nicht in der Pandas-Dokumentation finden. Vielen Dank

Scott Boston

Verwenden Sie ffill, forward füllt den NaN-Wert mit dem letzten Nicht-NaN-Wert in einer Spalte.

histo = histo.sort_values('Id').ffill()

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Callable So verhindern Sie, dass call () einen Wert zurückgibt

So verhindern Sie, dass die Schaltfläche "Zurück" die vorherige Seite zurückgibt

Leiten Sie mehrere df von einem einzelnen df so ab, dass jeder df keine NaN-Werte hat

Verhindern Sie, dass Pandas read_csv NA als NaN interpretiert, aber NaN für leere Werte beibehält

So verhindern Sie, dass mLastKnownLocation beim ersten Laden der App auf den Emulator null zurückgibt

So verhindern Sie, dass die select-Anweisung die Ausgabe zurückgibt

So verhindern Sie, dass die Python-Funktion None zurückgibt

So richten Sie den Ultraschallsensor so ein, dass er nach 1 Sekunde Werte zurückgibt

Verhindern Sie, dass Pandas None als Nan lesen

Verhindern Sie, dass Pandas 'NA' als NaN in einer Zeichenfolge interpretieren

So verhindern Sie, dass Benutzer nach Null- / Leerzeichenwerten suchen, da weiterhin alle Werte aus der Datenbank zurückgegeben werden

So verhindern Sie, dass eine Methode, die eine Zukunft zurückgibt, aufgerufen wird, bis ein vorheriger Aufruf nicht abgeschlossen ist

So verhindern Sie, dass Ausreißer in Boxplots in Pandas dargestellt werden

So verhindern Sie, dass Pandas Loc einen einzelnen Elementdatenrahmen transponiert

So verhindern Sie, dass die Gabel zweimal zurückkehrt,

Python Pandas - Geben Sie df NaN-Werte ein

Verhindern Sie, dass Pandas interpolieren

Selenium - So beheben Sie, dass execute_script nach dem Ausführen mehrerer Javascript-Anweisungen keine Werte zurückgibt

Passen Sie die Schleife so an, dass nur Werte zurückgegeben werden, die auf der Häufigkeit des Auftretens in df basieren

Verhindern Sie, dass Objekte Werte gemeinsam nutzen

Verhindern Sie, dass Imputer Werte verliert

So verhindern Sie, dass ein Benutzer negative Werte in die HTML-Eingabe eingibt

So verhindern Sie, dass sich eine Dataframe-Teilmenge alte Werte "merkt"

So verhindern Sie, dass Eltern Werte an Kinder übergeben, bis der Wert verfügbar ist

So verhindern Sie, dass editText "." Wenn initialisiert, um nur Float-Werte zu akzeptieren?

eckig: So verhindern Sie, dass sich die Werte der Checkbox bis später ändern

So verhindern Sie, dass der Header "Access-Control-Allow-Origin" mehrere Werte enthält

So verhindern Sie, dass SAS beim Zusammenführen von Datensätzen Werte ändert

So verhindern Sie, dass Werte in Stream Analytics aufgrund von Blob-Eingaben verdoppelt werden

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv