2015-08-22 4 views
0

У меня есть dataframe называются сообщения, в которых данные выглядят какastype не работает для панды dataframe

message    length class 
hello, Come here  16  A 
hi, how are you  15  A 
what is it   10  B 
maybe tomorrow  14  A 

Когда я сделать

messages.dtypes 

Он показывает мне

class  object 
message object 
Length  int64 
dtype: object 

Затем я попытался преобразование столбца сообщения в строку типа

messages['message'] = messages['message'].astype(str) 
print messages.dtypes 

Он все еще показывает мне

class  object 
message object 
Length  int64 
dtype: object 

Что я делаю неправильно. Почему он не преобразуется в строку?

Python версия 2.7.9 На окнах 10
Панды версии 0.15.2

ответ

2

Там нет "строки" типа данных. В пандах строки хранятся как объекты.

В numpy вы можете иметь строковые типы данных, но они имеют фиксированную длину, поэтому до сих пор нет «строкового типа данных». Существует тип данных для 5-символьных строк, тип данных для 10-символьных строк и т. Д., Но не тип данных для «строк» ​​как таковой. Pandas использует object как тип данных для строк, так что вы можете выполнять манипуляции с изменениями по строкам (например, объединять их с другими строками) без необходимости повторного создания всего столбца с новой длиной строки.

Смежные вопросы