在Python中构建一般2D/3D/ND数据集的最强大且交互式友好的方法是什么?

cme*_*ren 8 python numpy dataset data-structures blaze

我是一名科学家,最近从MATLAB转换为Python.我正在寻找构建我的(主要是2D和3D)数据集的方法.我已经在网上搜索了一下,在我看来,Python 中强大通用的数据结构仍然有点悬而未决.我认为这个问题和任何答案都与其他Python科学家高度相关,他们正在寻找一种方法来构建数据,这种方式可以让我们专注于手头的问题而不是底层的实现.

我的数据结构的一个例子是时间x高度x参数,其中参数是例如密度,温度等.对于时间维度,我想使用datetime对象,因为这看起来非常强大并且便于转换,格式化等.

到目前为止,我已经研究过Pandas和MetaArray(来自SciPy食谱).

熊猫作为一种数据类型的主要缺点是它远不止于此.例如面板(项目,长轴,短轴)中的每个尺寸似乎都有某些优选用途,但我无法弄清楚哪个.索引特别是根据维度而不同,并且在创建数据结构之后可能不会扩展某些维度.因此,尽管Pandas的一些功能(如分组(.groupby))对我的一小部分工作非常有用,但Pandas对于交互式科学工作并不是非常直观,我发现自己在寻找其他选项作为我的日常数据类型.

我还从SciPy食谱中简要介绍了MetaArray.这看起来更像是一个简洁的数据类型,索引看起来非常直观和灵活,使其更适合交互式科学工作.但是,它不是(AFAIK)任何软件包的一部分,需要手动下载和安装,如果我需要与其他科学家合作,这使得可移植性更加困难.此外,我发现几乎没有使用它的例子,因此它似乎更像是构建N维数据集问题的临时解决方案.

我也听说过Blaze,据称是"下一代NumPy",但据我所知,这仍然是早期开发的一部分.(欢迎使用Blaze的经验!)

因此,我想了解如何在Python中构建N维数据集(特别是3D)的一些示例(模块,包等),最重要的是为了便于交互式使用.