繁体   English   中英

初始化一个非常大的pandas数据帧

[英]Initializing a very large pandas dataframe

背景:我有一系列图像。 在每个图像中,我将单个像素映射到数字。 然后我想创建一个pandas数据帧,其中每个像素都在自己的列中,图像是行。 我想这样做的原因是我可以使用前向填充之类的东西。

挑战:我已经将每个图像转换为一维数字数组,每个数字大约有200万个条目,我有数千个图像。 简单地做pd.DataFrame(数组)非常慢(在较少数量的图像上测试它)。 有更快的解决方案吗? 如何有效地执行此操作的其他想法也是受欢迎的,但使用非核心的不同库可能是一个挑战(企业环境)。

出于好奇,你有没有理由想要使用Pandas? 图像分析通常在矩阵中处理​​,使NumPy成为明确的最爱。 如果我没弄错的话,sk-learn和PIL / IMAGE都会使用NumPy数组进行分析和操作。

另一种选择:避免内存中的步骤! 您是否需要同时访问所有1K +图像? 如果没有,并且您正在单独操作每个文件,您可以迭代文件并在那里执行操作。 要获得更高效的步骤,请将文件分成200个左右的图像列表,然后使用Python的MultiProcessing功能进行并行分析。

JIC,你有PIL或IMAGE安装,还是sk-learn? 这些软件包有一些很好的图像分析算法已经打包,可以节省你一些时间,不必重新发明轮子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM