2014-11-06 36 views

cevap

10

Kullanım convert_objects:

In [24]: 

df = pd.DataFrame({'a': [0.1,0.5,'jasdh', 9.0]}) 
df 
Out[24]: 
     a 
0 0.1 
1 0.5 
2 jasdh 
3  9 
In [27]: 

df.convert_objects(convert_numeric=True) 
Out[27]: 
    a 
0 0.1 
1 0.5 
2 NaN 
3 9.0 
In [29]: 

Daha sonra bunları bırakın:

df.convert_objects(convert_numeric=True).dropna() 
Out[29]: 
    a 
0 0.1 
1 0.5 
3 9.0 

GÜNCELLEME sürümü 0.17.0 bu yana

yöntem şimdi deprecated ve t'ye ihtiyacınız var. eşdeğer kod artık yani o ziyade bir bütün df daha Series üzerinde to_numeric ne yazık ki bu faaliyet kullanın: Bunun

df.apply(lambda x: pd.to_numeric(x, errors='coerce')).dropna() 
+0

Teşekkür! Veri kümemde birden çok sütun var. Bazı sütunların dizeleri olması gerekir. Örneğin, bir sütun 'adı' ve bir sütun 'yaşı' var. 'Yaş' sütununun sayısal olması gerekir. Denedim: df.age.convert_objects (convert_numeric = True) ve 'Series' nesnesinin 'convert_objects' özelliği yoktur. – user3347713

+0

'df [['yaş']] yapmalısınız. Convert_objects (convert_numeric = True)' Bu durumda – EdChum

+0

Oh Gördüğünüzden [['yaş']] df sütununu seçer. Çok yararlı. Ancak, TypeError alıyorum: convert_objects() beklenmedik bir anahtar kelime argümanı 'convert_numeric var. Sadece belgeleri kontrol ettim ve 'convert_numeric = True' doğru argüman. Düşünceler? – user3347713

0

dtype.kind özniteliğinden bir sütunun veri türünü bulabilirsiniz. df[col].dtype.kind gibi bir şey. Daha fazla ayrıntı için bkz. the numpy docs. Veri çerçevesini indislerden sütunlara gitmek için aktarın. Bu NaN herhangi olmayan sayısal değerler zorlamak olacaktır param convert_numeric=True ile

İlgili konular