给出以下代码(在Jupyter笔记本中执行):
In [1]: import pandas as pd
%time df=pd.SparseDataFrame(index=range(0,1000), columns=range(0,1000));
CPU times: user 3.89 s, sys: 30.3 ms, total: 3.92 s
Wall time: 3.92 s
为什么创建稀疏数据框需要这么长时间?
请注意,如果我增加行的维度,似乎无关紧要。但是当我将列数从1000增加到10000时,代码似乎需要永远,我总是不得不中止它。
将此与scipy的稀疏矩阵进行比较:
In [2]: from scipy.sparse import lil_matrix
%time m=lil_matrix((1000, 1000))
CPU times: user 1.09 ms, sys: 122 µs, total: 1.21 ms
Wall time: 1.18 ms