Regex auf einen Pandas-Datenrahmen anwenden

9

Ich habe Probleme beim Anwenden einer Regex-Funktion auf eine Spalte in einem Python-Datenframe. Hier ist der Kopf meines Datenrahmens:

%Vor%

Ich dachte, ich hätte ein ziemlich gutes Gespür dafür, Funktionen auf Dataframes anzuwenden, also fehlen mir vielleicht meine Regex-Fähigkeiten.

Folgendes habe ich zusammengestellt:

%Vor%

Die Ausgabe würde eine Spalte namens Season2 sein, die das Jahr vor dem Bindestrich enthält. Ich bin sicher, dass es einen einfacheren Weg gibt, es ohne Regex zu tun, aber was noch wichtiger ist, ich versuche herauszufinden, was ich falsch gemacht habe

Danke für jede Hilfe im Voraus.

    
itjcms18 13.08.2014, 17:46
quelle

2 Antworten

9

Wenn ich (eine Variante von) Ihren Code versuche, bekomme ich NameError: name 'x' is not defined - was nicht der Fall ist.

Sie könnten entweder

verwenden %Vor%

oder

%Vor%

aber der zweite ist nur ein längerer und langsamer Weg, um den ersten zu schreiben, also gibt es nicht viel Sinn (es sei denn, Sie haben andere Argumente zu handhaben, die wir hier nicht haben.) Ihre Funktion wird ein zurückgeben Liste jedoch:

%Vor%

obwohl du das leicht ändern könntest. FWIW, ich würde vektorisierte Zeichenfolgenoperationen verwenden und etwas wie

tun %Vor%

oder

%Vor%     
DSM 13.08.2014, 18:01
quelle
0

Das gestellte Problem kann durch Schreiben des folgenden Codes gelöst werden:

%Vor%

Sie hatten dieses Problem, da einige Zeilen in der Zeichenfolge kein Jahr hatten

    
Pratik409 26.04.2016 13:01
quelle

Tags und Links