2016-06-01 48 views
24

Ho un dataframe in panda e sto cercando di capire quali sono i tipi dei suoi valori. Non sono sicuro del tipo di colonna 'Test'. Tuttavia, quando corro myFrame['Test'].dtype, ottengo;Che cosa significa un dtype di "O"?

dtype('O') 

Cosa significa?

+3

'pandas' utilizza liberamente' DTYPE object' quando le colonne contengono valori misti (stringhe, numeri, nan). – hpaulj

risposta

20

Significa:

'O'  (Python) objects 

Source.

Il primo carattere specifica il tipo di dati e i caratteri rimanenti specificano il numero di byte per articolo, ad eccezione di Unicode, in cui viene interpretato come il numero di caratteri. La dimensione dell'articolo deve corrispondere a un tipo esistente o verrà generato un errore. I tipi supportati sono in un tipo esistente o verrà generato un errore. I tipi supportati sono:

'b'  boolean 
'i'  (signed) integer 
'u'  unsigned integer 
'f'  floating-point 
'c'  complex-floating point 
'O'  (Python) objects 
'S', 'a' (byte-)string 
'U'  Unicode 
'V'  raw data (void) 

Un'altra answer aiuta se necessario controllare type s.

6

Significa "un oggetto python", cioè non uno dei tipi scalari incorporati supportati da numpy.

np.array([object()]).dtype 
=> dtype('O') 
2

'O' sta per oggetto.

#Loading a csv file as a dataframe 
import pandas as pd 
train_df = pd.read_csv('train.csv') 
col_name = 'Name of Employee' 

#Checking the datatype of column name 
train_df[col_name].dtype 

#Instead try printing the same thing 
print train_df[col_name].dtype 

La prima linea ritorna: dtype('O')

La linea con l'istruzione print restituisce il seguente: object