2014-01-21 22 views
13

Ich frage mich, ob es in Pandas DataFrames eine elegante und verkürzte Methode gibt, Spalten nach Datentyp (dtype) auszuwählen. d. h. Wählen Sie nur int64-Spalten aus einem DataFrame.Auswählen von Pandas-Spalten nach dtype

Um dies näher auszuführen, etwas entlang der Linien von

df.select_columns(dtype=float64) 

Vielen Dank im Voraus für die Hilfe

Antwort

20
df.loc[:, df.dtypes == np.float64] 
10
df.select_dtypes(include=[np.float64]) 
24

Seit 0.14.1 gibt es eine select_dtypes Methode, so dass Sie diese eleganten tun können /allgemein.

In [11]: df = pd.DataFrame([[1, 2.2, 'three']], columns=['A', 'B', 'C']) 

In [12]: df.select_dtypes(include=['int']) 
Out[12]: 
    A 
0 1 

So wählen Sie alle numerischen Typen verwenden, um die numpy dtype numpy.number

In [13]: df.select_dtypes(include=[np.number]) 
Out[13]: 
    A B 
0 1 2.2 

In [14]: df.select_dtypes(exclude=[object]) 
Out[14]: 
    A B 
0 1 2.2