【发布时间】:2016-09-28 04:39:38
【问题描述】:
我有一个defaultdict,它存储数据集中每 2 个单词的数据共现。我这样做是为了获得稀疏表示,因为数据集中并非每一对都存在,因此可以节省一些内存空间。
现在有一些标准函数可以将此defaultdict 转换为numpy 矩阵,如果可能的话,可以转换为一些稀疏表示。我知道如何将 dict 转换为 numpy 数组。但我正在寻找一种更有效的方式将 defaultdict 转换为矩阵。
如果不可能,是否有任何标准函数可以将 defaultdict 转换为 CSV,以便我可以使用 numpy 加载 csv。
编辑 - 我找到了使用 pandas 的解决方法。我将 defaultdict 转换为 DataFrame,然后将 DF 转换为 numpy 矩阵。还有比这更好的方法吗?
但遗憾的是,这无助于节省内存。
【问题讨论】:
-
你能举一个你的默认字典的例子吗?还有预期的输出?
-
在访问已经存在的值时,
defaultdict与常规dict相同。这个dict的键和值是什么?词或索引?你想要什么样的阵列布局?如果@Eric 的答案不合适,给我们一个小例子 - 字典和所需的数组(可能是稀疏的)。 -
关于从字典中构建稀疏矩阵。 stackoverflow.com/questions/27770906/…