2016-05-26 18 views
-1

Ich habe ein Series-Datenobjekt, die dtype als Objekt haben. Es enthält Int im Str-Format sowie viele Strings. Ich möchte nur int in int type und del rest konvertieren.Konvertieren von Zeichenfolge in int: Python

Beispiel:

'1','3','sd34','4','r5' 

Ergebnis:

[1, 3, 4] 
+0

Wo ist der Python in Frage? –

Antwort

5

Hier ist ein einfacher Einzeiler.

output = [int(s) for s in data_list if s.isdecimal()] 

Sie können auch einen Generatorausdruck verwenden, wenn der Datensatz groß ist. Dies wird für eine einzelne Iteration über die Daten viel effizienter sein.

output_gen = (int(s) for s in data_list if s.isdecimal()) 
-1
data = ['1','3','sd34','4','r5'] 
result = [] 

for d in data: 
    try: 
     result.append(int(d)) 
    except: 
     pass 
+1

"Flat ist besser als verschachtelt." ; "Fehler sollten niemals stillschweigend passieren." Sie erfassen alle Fehler und es ist ohne Grund verschachtelt. Strg + C hier funktioniert nicht, um den Code zum Beispiel in einem langen Dataset zu unterbrechen. 'Importieren Sie diesen' Mate – Bharel

Verwandte Themen