2017-12-28 5 views
1

Ich kann nicht Datentypen in meiner Datenrahmen von Zeichenfolge zu schweben konvertieren (sie sind numerische Werte als String oder leere Strings):Konvertieren Pandas Datenrahmen schweben

calcMeanPrice_df = dessertApples_df.iloc[:, 5:17]  #slice of columns 

for col in calcMeanPrice_df:       #iterate columns 
    pd.to_numeric(col, errors = 'coerce')    #attempt to convert to numeric 

calcMeanPrice_df.dtypes        #return data column types 

Out[21]: 
4  object 
5  object 
6  object 
7  object 
8  object 
9  object 
10 object 
11 object 
12 object 
13 object 
14 object 
15 object 
dtype: object 

Was mache ich falsch hier?

+1

'to_numeric' nicht Inplace nicht funktioniert, müssen Sie so viel ihr Rückgabewert irgendwo –

Antwort

2

Hypothetische Datenrahmen:

df = pd.DataFrame({'a':['5','10'], 'b':['9','7']}) 

Aktuelle Datentypen:

In [391]: df.dtypes 
Out[391]: 
a object 
b object 

Konvertieren Sie die gesamte df Spalten numerisch:

df = df.apply(pd.to_numeric) 

Ergebnis:

In [393]: df.dtypes 
Out[393]: 
a int64 
b int64 
0 nur

Convert Spalten numerisch wählen:

In [396]: df = pd.DataFrame({'a':['5','10'], 'b':['9','7']}) 
In [397]: df['a'] = df['a'].apply(pd.to_numeric) 
In [398]: df.dtypes 
Out[398]: 
a  int64 
b object 
+0

Dank zuweisen. – Braide

+0

Sie sind herzlich willkommen, @Braide! Ich bin froh, dass ich helfen konnte. – FatihAkici

Verwandte Themen