当试图将一个大致(2,000,000x3)个热编码值数组转换为数据帧时,我遇到一个“ DataFrame构造函数未正确调用!”错误。
我也明确尝试过将数组包装在np.asarray()中,但是会出现“必须通过二维输入”错误。
enc = skp.OneHotEncoder()
X_ismale = enc.fit_transform(X.IsMaleBucket.values.reshape(-1,1))
X_ismale = pd.DataFrame(X_ismale,columns=['IsMale_'+str(i) for i in np.sort(X.IsMaleBucket.unique())])
X_ismale具有类型:
<2256308x3 sparse matrix of type '<class 'numpy.float64'>'
with 2256308 stored elements in Compressed Sparse Row format>
错误如上所述。
我希望可以无误地转换为数据框,但无法获取。
答案 0 :(得分:-1)
熊猫不能使用稀疏矩阵,而只能使用密集数据。您可以使用to_array将稀疏矩阵转换为密集数组。 – 9分钟前jdehesa
尽管当前版本为toarray,但使用to_array还是可以的。
谢谢。