Pandas ersetzen Werte

Ich habe folgendes dataframe:

col 0 pre 1 post 2 a 3 b 4 post 5 pre 6 pre 

Ich möchte alle Zeilen im Dataframe ersetzen, die nicht 'pre' enthalten, um 'nonpre' zu werden, so dass dataframe wie folgt aussieht:

  col 0 pre 1 nonpre 2 nonpre 3 nonpre 4 nonpre 5 pre 6 pre 

Ich kann dies mit einem Wörterbuch und Pandas ersetzen, aber ich möchte nur die Elemente auswählen, die nicht 'pre' sind und sie durch 'nonpre' ersetzen. Gibt es einen besseren Weg, dies zu tun, ohne alle möglichen col Werte in einem Wörterbuch aufzulisten?

2 Solutions collect form web for “Pandas ersetzen Werte”

Solange du dich mit der df.loc[condition, column] Syntax, die Pandas erlaubt, ist einfach, einfach df['col'] != 'pre' , um alle Zeilen zu finden, die geändert werden sollen:

 df['col2'] = df['col'] df.loc[df['col'] != 'pre', 'col2'] = 'nonpre' df Out[7]: col col2 0 pre pre 1 post nonpre 2 a nonpre 3 b nonpre 4 post nonpre 5 pre pre 6 pre pre 
 df[df['col'].apply(lambda x: 'pre' not in x)] = 'nonpre' 
  • Pandas DataFrame Pivot mit Daten und Zählungen
  • Entfernen von Zeichen aus einer Zeichenfolge in Pandas
  • Pandas to_csv erste extra Spalte entfernen, wie zu?
  • Wie wähle ich nur bestimmte Spalten aus einem DataFrame mit MultiIndex Spalten aus?
  • Pandas: Umformen von Daten mit doppelten Zeilennamen in Spalten
  • Python-Pandas, Plotten Optionen für mehrere Zeilen
  • Wie man Dataframe in Pandas teilt
  • Wie man Plot mit Text als ytick Etiketten zu produzieren
  • Wie kann man einen Wert in einer "Zelle" eines Pandas-Datenrahmens ändern?
  • Pandas read_csv dtype Schlussfolgerungsproblem
  • Python: Teilen Sie jede Zeile eines DataFrame durch einen anderen DataFrame-Vektor
  • Python ist die beste Programmiersprache der Welt.