我是一个科学家,最近从MATLAB转换成Python。我正在寻找构建我的(主要是二维和三维)数据集的方法。我在网上搜索了不少,在我看来,Python中健壮的和通用数据结构仍然有些悬而未决。我认为这个问题和任何答案对于其他Python科学家来说都是非常有意义的,因为他们正在寻找一种结构数据的方法,以便能够集中精力解决手头的问题,而不是底层的实现。在
我的数据结构的一个例子是time x altitude x parameter,其中parameter是例如密度、温度等。对于时间维度,我想使用datetime
对象,因为这看起来非常健壮,便于转换、格式化等
到目前为止,我已经研究过熊猫和MetaArray(来自SciPy食谱)。在
Pandas作为一种数据类型的主要缺点是它远不止这些。面板中的每个维度(项目、长轴、短轴)似乎都有特定的首选用途,但我不知道是哪个。具体来说,索引根据维度的不同而不同,在创建数据结构之后,某些维度可能无法展开。因此,尽管Pandas的一些功能,比如分组(.groupby
)对我的一小部分工作确实有用,但是Pandas对于交互式科学工作并不是很直观,我发现自己正在寻找其他选项作为我的日常数据类型。在
我还简要地研究了SciPy食谱中的MetaArray。这看起来更像是一种干净的数据类型,而且索引看起来非常直观和灵活,使其更适合于交互式科学工作。然而,它不是(AFAIK)任何软件包的一部分,需要手动下载和安装,这使得如果我需要与其他科学家合作,可移植性就变得更加困难。而且,我几乎找不到任何使用它的例子,因此它看起来更像是一个构建N维数据集问题的临时解决方案。在
我也听说过Blaze,号称是“新一代的纽普瑞”,但据我所知,它仍处于早期开发阶段。(欢迎体验Blaze!)在
因此,我想要一些例子(模块、软件包等)来说明N维数据集(尤其是3D)是如何用Python构建的,最重要的是为了方便交互使用。在
目前没有回答
相关问题 更多 >
编程相关推荐