Python Pandas:ValueError:创建sparse.csr_矩阵时,以10为基数的int()的文本无效

Python Pandas:ValueError:创建sparse.csr_矩阵时,以10为基数的int()的文本无效,python,pandas,dataframe,sparse-matrix,Python,Pandas,Dataframe,Sparse Matrix,这是我正在使用的熊猫数据帧的信息: 输入: final.info() print(final) 输出: <class 'pandas.core.frame.DataFrame'> RangeIndex: 410978 entries, 0 to 410977 Data columns (total 3 columns): Column Non-Null Count Dtype --- ------ -------------- ----

这是我正在使用的熊猫数据帧的信息:

输入:

final.info() 
print(final)
输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 410978 entries, 0 to 410977
Data columns (total 3 columns):
    Column       Non-Null Count   Dtype 
---  ------       --------------   ----- 
 0   customer_id  410978 non-null  int64 
 1   item_id      410978 non-null  object
 2   item_qty     410978 non-null  int64 
dtypes: int64(2), object(1)
memory usage: 9.4+ MB

        customer_id  item_id  item_qty
0             12346  15056BL         1
1             12346   15056N         1
2             12346   15056P         1
3             12346    20679         1
4             12346    20682         1
...             ...      ...       ...
410973        18287   85040B        12
410974        18287    85041        12
410975        18287   85199S        24
410976        18287   85232B        24
410977        18287       C2         1

[410978 rows x 3 columns]
错误:

    ValueError                                Traceback (most recent call last)
<ipython-input-47-058d94e47e42> in <module>()
     17 
     18 #Create the sparse matrix
---> 19 sparse_purchase = sparse.csr_matrix((quantity,(rows,cols)), shape=(len(customers), len(products)))

5 frames
/usr/local/lib/python3.7/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     81 
     82     """
---> 83     return array(a, dtype, copy=False, order=order)
     84 
     85 

ValueError: invalid literal for int() with base 10: '15056BL'
ValueError回溯(最近一次调用)
在()
17
18#创建稀疏矩阵
--->19 sparse_purchase=sparse.csr_矩阵((数量,(行,列)),形状=(len(客户),len(产品)))
5帧
/asarray中的usr/local/lib/python3.7/dist-packages/numpy/core//\u asarray.py(a,数据类型,顺序)
81
82     """
--->83返回数组(a,数据类型,副本=False,顺序=order)
84
85
ValueError:基数为10的int()的文本无效:“15056BL”
我认为sparse.csr_矩阵需要行和列的整数输入,但由于item_id是一个对象数据类型,我无法创建稀疏矩阵。也不可能将item_id转换为int。是否有方法使用对象数据类型创建稀疏矩阵


任何帮助都将不胜感激。

请包括完整的堆栈跟踪,这样我们就可以看到哪行代码抛出了错误。你说得对,
cols
item\u id
派生的必须是整数dtype。@hpaulj有没有办法用对象数据类型创建稀疏矩阵?@joao编辑了这篇文章。
    ValueError                                Traceback (most recent call last)
<ipython-input-47-058d94e47e42> in <module>()
     17 
     18 #Create the sparse matrix
---> 19 sparse_purchase = sparse.csr_matrix((quantity,(rows,cols)), shape=(len(customers), len(products)))

5 frames
/usr/local/lib/python3.7/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
     81 
     82     """
---> 83     return array(a, dtype, copy=False, order=order)
     84 
     85 

ValueError: invalid literal for int() with base 10: '15056BL'