2016-03-27 7 views
0

Hallo allerseits Ich bin neu bei Python und ich konnte meine Antworten nirgendwo finden, also bin ich hier auf der Suche nach etwas Hilfe.fillna (0) funktioniert nicht

So ist das Hintergrundwissen, ich habe einen großen Datenrahmen und jedes Mal sollte ich ein paar Spalten für einen bestimmten Forschungszweck auswählen. Normalerweise würde ich df.fillna(0) verwenden, um alle NaNs in meinem ausgewählten Datenrahmen durch den Wert 0 zu ersetzen, was völlig in Ordnung war, wenn ich mehrere Spalten gleichzeitig auswählte. Aber wenn ich nur eine Spalte auswähle, erscheint ein Fehler, der besagt, dass mein Datenrahmen immer noch NaN-Werte hat. Ich habe mich gefragt, ob das etwas mit der Anzahl der Spalten zu tun hat, und wenn jemand sieht, dass es weiß, wie es gelöst werden kann.

Der Code, den ich benutze ist:

data = Demo_NY.loc[:,feature_name] 
data.fillna(value = 0) 
data = data.applymap(int) 

Demo_NY hier ist der Datenrahmen, alle Einträge sind Speicher im String-Format, weshalb ich habe data.applymap(int) zu verwenden, nachdem sie die Auswahl. Aber es erscheint ein Fehler, der besagt, dass NaN ist, ich dachte, ich hätte alle NaN in der zweiten Zeile ersetzt.

Entschuldigung für meine schlechte Bearbeitung.

Vielen Dank im Voraus!

+1

Bitte Code veröffentlichen, damit wir das Problem reproduzieren können. –

+0

Ich wollte den Code posten, aber ich dachte mir, es könnte nicht hilfreich sein, da ich die Daten nicht teilen kann. Wie dem auch sei , ist der Code: 'data = Demo_NY.loc [:, feature_name]' ' data.fillna (Wert = 0)' ' data = data.applymap (int)' Hier die Demo_NY ist der Datenrahmen Alle Einträge werden im String-Format gespeichert, weshalb ich nach der Auswahl "data.applymap (int)" wählen muss. Aber das akzeptiert keine NaN Sorry für meine schlechte Bearbeitung, ich habe keine Ahnung, wie man es sauberer machen ... – Stryx

+0

Ich habe Ihre Frage bearbeitet, um diesen Code hinzuzufügen. –

Antwort

0

versuchen data.fillna(value=0, inplace=True)

+0

Danke! Es funktioniert, obwohl ich immer noch verwirrt bin, warum dieser Fehler vorher nicht aufgetreten ist. – Stryx

+0

ist es vielleicht, weil Sie das getan haben: 'data = data.fillna (value = 0)' – dark

+0

Nein, ich habe den gleichen Codeabschnitt über eine Woche lang benutzt, und dies ist das erste Mal, dass ich diesen Fehler sehe . – Stryx

Verwandte Themen