2016-06-01 1 views
24

У меня есть dataframe в пандах, и я пытаюсь выяснить, каковы типы его значений. Я не уверен, что тип столбца 'Test'. Однако, когда я запускаю myFrame['Test'].dtype, я получаю;Что означает dtype 'O'?

dtype('O') 

Что это значит?

+3

'pandas' свободно использует' object' DTYPE, когда столбцы содержат смешанные значения (строки, числа, нан). – hpaulj

ответ

20

Это означает:

'O'  (Python) objects 

Source.

Первый символ указывает тип данных, а остальные символы указывают количество байтов на элемент, за исключением Юникода, где оно интерпретируется как количество символов. Размер элемента должен соответствовать существующему типу, или ошибка будет поднята. Поддерживаемые типы - - существующий тип, или ошибка будет поднята. Поддерживаемые типы являются:

'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) 

Другой answer помогает, если нужно проверить type с.

6

Это означает «объект python», то есть не один из встроенных скалярных типов, поддерживаемых numpy.

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

'O' означает объекта.

#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 

Первая строка возвращает: dtype('O')

Строка с заявлением для печати возвращает следующее: object