2016-07-13 7 views
0

Kurze Frage,df.loc um ganze Reihe zu entfernen basierend auf Zustand

Wie würde ich anpassen

df2.loc[df2['A'] ==0, 'B'] = np.NaN 

auf die ganze Zeile ändern, auch bekannt als B, C usw. werden np.Nan Without a for-Schleife, da dies

zu lange dauern würde

Vielen dank

+0

Also alles außer Spalte A? –

Antwort

3

Wenn Sie jede Spalte mit ‚A‘ wollen:

df.loc[df['A'] == 0, :] = np.NaN 

Wenn Sie jede Spalte von 'B' wollen, ab

df.loc[df['A'] == 0, 'B':] = np.NaN 

Allgemeiner gesagt, wenn 'A' ist nicht die erste Spalte:

df.loc[df['A'] == 0, df.columns.drop('A')] = np.NaN 
+0

Danke das ist super! Prost – SLE

+0

Quick F: Der Datenrahmen ist eine Zeitreihe mit Spalten und einem Index des Datums, wie würde ich es ändern, so dass es die gesamte Linie an bestimmten Daten entfernen würde? Bestimmte Bedeutung der -1/08/2006 und andere zufällige Tage? – SLE

+0

'df.loc ['2013-2-23': '2013-5-22',:]' oder 'df.loc ['2/23/13': '5/22/13',:] ' Die Datetime-Indizierung ist ziemlich schlau, um zu verstehen, was Sie wollen. –

Verwandte Themen