Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 只能使用';。稀疏';稀疏数据存取器_Python_Pandas_Numpy - Fatal编程技术网

Python 只能使用';。稀疏';稀疏数据存取器

Python 只能使用';。稀疏';稀疏数据存取器,python,pandas,numpy,Python,Pandas,Numpy,我用sparse=True参数对我的数据执行了OHE,这似乎没有什么作用 我试过: # One Hot Encoding df_ohe = pd.get_dummies(df, columns=cats, drop_first=True, sparse=True) df_ohe = df_ohe.sparse.to_coo().tocsr() #Explicitely convert df_ohe.memory_usage().sum() …返回 AttributeError:只能对稀疏数据使

我用sparse=True参数对我的数据执行了OHE,这似乎没有什么作用

我试过:

# One Hot Encoding
df_ohe = pd.get_dummies(df, columns=cats, drop_first=True, sparse=True)
df_ohe = df_ohe.sparse.to_coo().tocsr() #Explicitely convert
df_ohe.memory_usage().sum()
…返回

AttributeError:只能对稀疏数据使用“.sparse”访问器


我们将不胜感激。谢谢

您需要使用导入csr_矩阵方法(将numpy数组转换为稀疏矩阵)

然后你就可以写了

df_ohe = pd.get_dummies(df, columns=cats, drop_first=True)
df_ohe = csr_matrix(df_ohe.values)

请注意,这里我从get_dummies方法中删除了
sparse=True
,然后更改了转换为稀疏矩阵的语法。

我将其标记为正确答案,但在OHE之后有很多列的数据帧上,我的内存不足。谢谢。经过一点研究,看起来get_假人中有一个bug导致了这个问题。见和。要解决内存问题可能需要一些黑客。是的,我也发现了。这是最新的版本更新,以前可以使用。希望能尽快解决。谢谢你的评论!
df_ohe = pd.get_dummies(df, columns=cats, drop_first=True)
df_ohe = csr_matrix(df_ohe.values)