码迷,mamicode.com
首页 > 其他好文 > 详细

np.nan is an invalid document, expected byte or unicode string.

时间:2018-10-07 10:40:45      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:document   turn   input   exp   数据   string   inpu   call   ring   

ValueError                                Traceback (most recent call last)
<ipython-input-12-1dc462ae8893> in <module>()
     15     print(‘cv prepared!‘)
     16     return df_x.astype(np.float64)
---> 17 df_test = get_feature(test_data,all_table,ready_cols,vec_col)
     18 df_train = get_feature(train_data,all_table,ready_cols,vec_col)

<ipython-input-12-1dc462ae8893> in get_feature(df, all_data, cols, vec_col)
      9     cv=CountVectorizer()
     10     for feature in vec_col:
---> 11         cv.fit(all_data[feature])
     12         df_a = cv.transform(df[feature])
     13         df_x = sparse.hstack((df_x, df_a))

 

def get_feature(df,all_data,cols,vec_col):
  enc = OneHotEncoder()
  df_x=np.int64(df[cols])
  cv=CountVectorizer()
  for feature in vec_col:
    cv.fit(all_data[feature])
    df_a = cv.transform(df[feature])
    df_x = sparse.hstack((df_x, df_a))
    print(‘Done Feature ‘+ str(feature))
  print(‘cv prepared!‘)
  return df_x.astype(np.float64)

 

原因分析:我的all_data中存在nan的数据,我在数据读入的时候使用了all_table.fillna(-1),我理解只会填充空值,但是all_table中原本为nan的值,不会改变。改为all_table.fillna(-1),可执行。

 

np.nan is an invalid document, expected byte or unicode string.

标签:document   turn   input   exp   数据   string   inpu   call   ring   

原文地址:https://www.cnblogs.com/smartwhite/p/9749168.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!