在Python中创建数据框期间出现内存错误

时间:2018-12-29 18:41:34

标签: python pandas scipy dataset

伙计们

在使用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中

enter image description here

0 个答案:

没有答案