2017-01-09 2 views
0

Ich versuche, fehlende Werte in einer Spalte in einem pandas Datenframe zu aktualisieren, aber bekomme eine Warnung über die Methode. Wenn ich den Vorschlag ändere, bekomme ich immer noch den gleichen Fehler. Was kann ich tun, um nicht von Pandas angeschrien zu werden?Panda-Dataframe richtig aktualisieren

Erster Versuch:

df['column1'].fillna(inplace=True, value='Low') 

Erste Antwort:

/usr/local/bin/python3.5/site-packages/pandas/core/indexing.py:3295: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame. 
Try using .loc[row_indexer,col_indexer] = value instead 

Zweiter Versuch:

df.loc[df['column1'].isnull(), 'column1'] = 'Low' 

Zweite Antwort:

/usr/local/bin/python3.5/site-packages/pandas/core/generic.py:476: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame 
+0

Haben Sie versucht, '.replace()' zu verwenden? Grundsätzlich: 'import numpy als np; df.replace ({'Spalte1: {np.nan:' Low '}'}, Inplace = True) '? – Abdou

+1

Wie hast du 'df' bekommen? Möglicherweise erhalten Sie die Warnung, weil "df" selbst erstellt wurde, indem Sie einen anderen DataFrame geschnitten haben. – BrenBarn

+0

@BrenBarn = Ich baue df aus einer Teilmenge von big_df. 'df = big_df [big_df ['columnA'] == 'X']' – mikebmassey

Antwort

1

Basierend auf Ihren Kommentaren klingt es wie df selbst erstellt, indem Sie eine größere big_df schneiden. Dies ist der Grund für die Warnung. Immer wenn Sie ein Stück eines DataFrames erhalten und versuchen, es zu modifizieren, haben Sie die Möglichkeit, diese Warnung zu erhalten, da Unsicherheit besteht, ob das Modifizieren von df auch Auswirkungen auf das big_df hat, von dem es ein Teil ist.

Wenn Sie sich nicht um den Effekt auf big_df kümmern, können Sie die Warnung wahrscheinlich ignorieren. Die andere Lösung besteht darin, .copy() beim Erstellen von df zu verwenden, um sicherzustellen, dass Sie einen "unbelasteten" DataFrame erhalten, der nicht mit dem ursprünglich größeren verknüpft ist.

Verwandte Themen