2016-07-06 5 views
5

Ich habe einen großen Datenrahmen eine Spalte mit dem Titel „Kommentar“Wie Werte wählen zwischen Streichern und in Spalte von Datenrahmen in Python mit regex

im Kommentarbereich 3 Werte Ich brauche enthält, zu ziehen und legen in separate Spalten, dh (Einschaltdauer, Gas und Druck)

"Start der Datenerfassung für Kapazität: , Gas: Vacuum Druck: 0,000028 Torr"

Aktuelle ly i .split und .ToList bin mit der Zeichenfolge zu analysieren ->

#split string and sort into columns 
df1 = pd.DataFrame(eventsDf.comment.str.split().tolist(),columns="0 0 0 0 0 0 dutyCycle 0 Gas 0 Pressure 0 ".split()) 

#join dataFrames 
eventsDf = pd.concat([eventsDf, df1], axis=1) 

#drop columns not needed 
eventsDf.drop(['comment','0',],axis=1,inplace=True) 

ich diese Methode „Hacky“, dass im Falle eher gefunden wäre mein Code die Struktur des Kommentarbereich ändert sich nutzlos ... kann mir jemand einen effektiveren/robusteren Weg zeigen, dies zu tun? Ich danke dir sehr!

Antwort

2

Verwenden Sie str.extract mit einem Regex.

regex = r'Duty Cycle: (?P<Duty_Cycle>\d+), Gas: (?P<Gas>\w+) Pressure: (?P<Pressure>\S+) Torr' 
df1 = eventsDf.comment.str.extract(regex, expand=True) 
df1 

enter image description here

+0

Dank! das hat perfekt funktioniert! –

Verwandte Themen