伙计们
在使用Python创建数据集时遇到问题。 我正在这样做:
userTab = pd.read_csv('C:\\Users\\anto-\\Desktop\\Ex.
Resource\\mapping_user_id.tsv',delimiter="\t",names =
["User","Sequence"])
wordTab = pd.read_csv('C:\\Users\\anto-\\Desktop\\Ex.
Resource\\mapping_word_id.tsv',delimiter="\t",names =
["Word","Sequence"])
df = pd.DataFrame(data=data, index= userTab.User, columns=wordTab.Word)
我试图从2个元素创建数据集,userTab.User是行,wordTab.Word是列元素。 可能形状太大,无法以这种方式进行计算。 我打印元素的形状,因为首先我认为我错了尺寸。
(((603668,),(37419,),(603668,37419))
此后,我尝试打印类型,并且我的用户和单词是Seris元素,数据为scipy.sparse.csc.csc_matrix
也许我需要为这个形状使用块,但是我看到了pandas.DataFrame参考并且没有属性。
我在64位Python上有8GB内存。稀疏矩阵在npz文件中(大约300mb)
错误是一般错误:
MemoryError Traceback (most recent call
last)
<ipython-input-26-ad363966ef6a> in <module>()
10 type(sparse_matrix)
11
---> 12 df = pd.DataFrame(data=sparse_matrix, index=
np.array(userTab.User), columns= np.array(wordTab.Word))
~\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self,
data, index, columns, dtype, copy)
416 if arr.ndim == 0 and index is not None and columns is not
None:
417 values = cast_scalar_to_array((len(index),
len(columns)),
--> 418 data, dtype=dtype)
419 mgr = self._init_ndarray(values, index, columns,
420 dtype=values.dtype,
copy=False)
~\Anaconda3\lib\site-packages\pandas\core\dtypes\cast.py in
cast_scalar_to_array(shape, value, dtype)
1164 fill_value = value
1165
-> 1166 values = np.empty(shape, dtype=dtype)
1167 values.fill(fill_value)
1168
MemoryError:
可能是这个问题,因为我有一种ID,当我尝试在“用户”列中访问时,该ID将保留在userTab.User中