【发布时间】:2016-12-22 22:03:26
【问题描述】:
背景:我有一系列图像。在每张图像中,我将一个像素映射到一个数字。然后我想创建一个熊猫数据框,其中每个像素都在自己的列中,图像是行。我想这样做的原因是我可以使用前向填充之类的东西。
挑战:我已将每张图像转换为一维数字数组,每个数组约有 200 万个条目,我有数千张图像。简单地做 pd.DataFrame(array) 非常慢(在较少数量的图像上测试它)。有没有更快的解决方案?也欢迎其他如何有效地做到这一点的想法,但使用非核心的不同库可能是一个挑战(企业环境)。
【问题讨论】:
-
有多慢
very slow -
我机器上的三个图像大约需要 1.5 分钟(所以我在三个 numpy 数组的数组上执行 pd.DataFrame,每个数组都有大约 200 万个数字)。
-
更新:我发现执行 pd.DataFrame(np.asmatrix(list)) 比简单执行 pd.DataFrame(list) 快很多。这里的 list 是一个 numpy 数组的列表。它从 1.5 分钟到基本上是即时的。
-
那对你有好处! :)
标签: python pandas numpy large-data