2015-03-02 3 views
2

У меня есть панды dataframe, который хранится как «объект», но мне нужно, чтобы изменить структуру dataframe к «межд» как «объект» DTYPE не будет обрабатывать в kmeans() функция NumPy библиотекиПреобразование панды DTYPE из dataframe

Я сумел преобразовать каждый столбец dataframe в float64, основываясь на этом примере Pandas: change data type of columns, но я не могу изменить все это на что-нибудь еще.

#create subset of user variables 
user.posts = user.posts.astype('int') 
user.views = user.views.astype('int') 
user.kudos = user.kudos.astype('int') 

Y = user[['posts','views','kudos']] 
#convert dataframe into float 
X.convert_objects(convert_numeric=True).dtypes 

Out[205]: 
posts float64 
views float64 
kudos float64 
dtype: object 

Это тогда вызывает проблемы, когда я пытаюсь запустить

K = range(1,10) 

# scipy.cluster.vq.kmeans 
KM = [kmeans(X,k) for k in K] # apply kmeans 1 to 10 

Я получаю ошибку

--->KM = [kmeans(X,k) for k in K] # apply kmeans 1 to 10 
^

    AttributeError: 'DataFrame' object has no attribute 'dtype' 

чем проблема kmeans оказывает либо с K или X dataframe и как это можно решить? Спасибо

+1

Ответил! user.posts = user.posts.astype ('поплавком') user.views = user.views.astype ('флоат') user.kudos = user.kudos.astype ('флоат') Y = пользователя [[ 'сообщения', 'вид',] 'Kudos']. значения – conr404

ответ

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