python报错:np.nan is an invalid document, expected byte or unicode string.

**

pandas报错:np.nan is an invalid document, expected byte or unicode string.

**

原始部分代码:

tr_ = TfidfVectorizer(max_features=self.max_features)
data_train_t = tr_.fit_transform(self.train_data.values.astype('U')).toarray()
data_test_t = tr_.transform(self.test_data).toarray()

代码是使用TF_IDF词向量进行表示。

错误原因:
fit_transform()函数与transform()函数中数据的表示形式不一样。

修改后:

tr_ = TfidfVectorizer(max_features=self.max_features)
data_train_t = tr_.fit_transform(self.train_data.values.astype('U')).toarray()
data_test_t = tr_.transform(self.test_data.**values.astype('U')**).toarray()

总结:报错原因多种多样,但总体来说就是你输入的数据有误,具体错误可以根据调试进行查找。