我有一个看起来像这样的数据框。
x_train.info()
Int64Index: 8330 entries, 16 to 8345
Data columns (total 4 columns):
userId 8330 non-null object
base_id 8330 non-null object
rating 8330 non-null object
dtypes: object(3)
我正在尝试使用以下命令将其转换为稀疏矩阵
train_sparse_matrix = sparse.csc_matrix((x_train['rating'].values, (x_train['userId'].values, x_train['base_id'].values)),)
但是出现以下错误
<ipython-input-112-520f5e1aee89> in <module>
4
5 train_sparse_matrix = sparse.csc_matrix((x_train['result.courseViewCount'].values, (x_train['userId'].values,
----> 6 **x_train['result.base_id'].values)),)**
TypeError: 'numpy.float64' object cannot be interpreted as an integer
因此,我尝试使用.astype('int32)
和to_numeric()
函数转换此数据帧,但是x_train.info()
仍继续显示为对象。
请您帮忙!
数据将如下所示:
userId base_id rating
5392.0 ABC001 6.0
5392.0 ETZ222 2.0
5392.0 XYZ095 1.0
Is it because the base_id contains alphabets?
答案 0 :(得分:0)
您可以尝试将其转换为numpy.int64吗?
.astype(numpy.int64)
如果您提供真实数据的摘录,将有助于回答