2016-05-26 5 views
-1

私はオブジェクトとしてdtypeを持つSeries DataObjectを持っています。 intにはstr形式と多くの文字列が含まれています。私はint型に変換するだけint型とdel残りたいです。文字列をintに変換する:Python

例:

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

結果:

[1, 3, 4] 
+0

? –

答えて

5

ここでは簡単なワンライナーです。

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

データセットが大きい場合は、ジェネレータ式を使用することもできます。これは、データに対する1回の反復ではるかにメモリ効率が良いでしょう。 Pythonは、あなたの質問にある

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

'フラットはネストされたものよりも優れています。' ; '間違いは黙ってはならない。'すべてのエラーをキャプチャしていますが、理由がないためにネストされています。ここでCtrl + Cを押すと、長いデータセットなどのコードを中断することはできません。 'import this'メイト – Bharel

関連する問題