我想分析模拟中的数据。数据按模型结构组织:
即。模型有节点。每个节点都有一个位置和一个速度。每个位置都有一个x,y和z分量。每个组件都有一个模拟中每个时间步的值。
为了组织数据,我开始编写一个存储所有值的对象,这样我就可以通过调用以下内容来获取组件的时间序列:
values = simulation.nodes(13).position.x(:)
然后我听说了大熊猫以及它如何提供一些有用的分类和分析工具。我可以用熊猫做我想做的事吗?或者我应该使用ndarrays编写自己的对象吗?
感谢您的回答。
本
答案 0 :(得分:0)
是的,熊猫可以做你想做的事。我建议使用Panel
三维数据结构。如果我们将面板分为行,列和层,那么每个层可以对应一个节点,每个列可以对应一个测量(所以你有六列,三个用于位置组件,另外三个对于速度的组成部分,每行到一个时间。 Panel
具有的方法可以轻松地按照您喜欢的任何条件对数据进行排序,提取对应于特定时间或时间范围或某些节点的部分,以重新采样,插值和处理数据,甚至将位置数据与速度数据分开。您可能会发现对列使用MultiIndex
会很有帮助,这样您就可以将多级列标签组合成组 - 这样您就可以拥有一个用于位置的组和另一个用于速度的组。