Ich habe Pandas DataFrame mit NaNs drin. So:
%Vor%Jetzt möchte ich ein Diktat daraus machen und gleichzeitig die NaNs entfernen. Das Ergebnis sollte so aussehen:
%Vor%Aber die Benutzung der pandas to_dict Funktion gibt mir ein Ergebnis wie folgt:
%Vor%Also, wie kann man aus dem DataFrame ein Diktat machen und die NaNs loswerden?
schreibe eine Funktion von to_dict von Pandas
%Vor%und als Ergebnis erhalten Sie, was Sie wollen:
%Vor%Es gibt viele Möglichkeiten, dies zu erreichen. Ich habe einige Zeit damit verbracht, die Leistung auf einem nicht so großen (70k) Datenrahmen zu bewerten. Obwohl die Antwort von @ der_die_das_jojo funktioniert, ist sie auch ziemlich langsam.
Die Antwort vorgeschlagen von Diese Frage erweist sich tatsächlich bei einem großen Datenrahmen als etwa fünfmal schneller.
Auf meinem Testdatenrahmen ( df
):
Oben genannte Methode:
%Vor%Eine andere langsame Methode:
%Vor%Schnellste Methode, die ich finden konnte:
%Vor%Das Format dieser Ausgabe ist ein zeilenorientiertes Wörterbuch. Möglicherweise müssen Sie Anpassungen vornehmen, wenn Sie die spaltenorientierte Form in der Frage verwenden möchten.
Sehr interessiert, wenn jemand eine noch schnellere Antwort auf diese Frage findet.