【问题标题】:Impossible to sparse or pickle DataFrame (kernel crash)无法稀疏或腌制 DataFrame(内核崩溃)
【发布时间】:2025-12-02 07:25:01
【问题描述】:

问题很奇怪。

我创建了一个这样的熊猫矩阵:

我的索引是 4 个级别的。 df = pd.Dataframe(np.zeros((300 000,300 000)), index=index, columns=index)

当我使用 np.zeros(没有它我的内核崩溃)时,矩阵是成功构建的,但是不可能腌制或稀疏它。 Python 在我的 Mac 上花费了将近 60 Go 的内存和 8 Go RAM。我还尝试使用超过 60 个 Go RAM 的集群。为什么如此简单的矩阵无法管理。我做错什么了吗?

【问题讨论】:

  • 问题更多的是如何直接创建一个稀疏矩阵以避免在我的矩阵几乎全为0时加载80 Go(或更多)。

标签: pandas numpy matrix pickle


【解决方案1】:

SparseDataFrame (SDF) 是基于行的。因此,使用列索引构建 SDF 是错误的方法。

见:https://github.com/pandas-dev/pandas/issues/16197

【讨论】: