2016-08-31 8 views
0

habe ich eine Reihe von Daten wiePandas Zeichenfolge numerische

 a  b 
0 type 1 True 
1 type 2 False 

Wie kann ich den numerischen Teil der Spalte halten a und übertragen ture auf 1, falsch auf Null zur gleichen Zeit. Unten ist was ich will.

a b 
0 1 1 
1 2 0 

Antwort

1

Sie können umwandeln Boolesche Werte auf ganze Zahlen wie folgt:

df['b'] = df.b.astype(int) 

von der Art des Textes in Spalte Je A, können Sie ein paar Dinge tun:

a) Split auf die Leerzeichen und nehmen Sie den zweiten Teil (entweder string oder int je nach Ihren Bedürfnissen).

df['a'] = df.a.str.split().str[1] # Optional `.astype(int)` 

b) Verwenden regex alle Ziffern (\d*) vom Ende der Schnur zu extrahieren.

df['a'] = df.a.str.extract(r'(\d*)$') # Optional `.astype(int)` 
Verwandte Themen