<p>一个可能的解决方案是使用<a href="http://pandas.pydata.org/" rel="nofollow">pandas</a>库,尤其是<code>DataFrame</code>对象。如果您不熟悉该库,<a href="http://pandas.pydata.org/pandas-docs/stable/10min.html" rel="nofollow">here</a>是一个简短的入门教程。这个库有很多有用的特性(例如,处理日期/时间数据)。它是否对你有用取决于你想要使用的算法(正如彼得·伍德的评论所建议的那样)。在</p>
<p>对于您的简短示例,可以将<code>data</code>对象构建为<code>DataFrame</code>作为</p>
<pre><code>import pandas as pd
data = pd.DataFrame({'color': ['red', 'green', 'blue'],
'mass': [100, 98, 90],
'speed': [10,11,9]})
</code></pre>
<p>然后您可以访问完整的<code>data</code>对象或其中的特定元素,例如</p>
^{pr2}$
<p>您还可以对列执行操作,并将结果另存为<code>data</code>对象中的新列,例如:</p>
<pre><code>>>data['momentum'] = data['mass']*data['speed']
>>print data
color mass speed momentum
0 red 100 10 1000
1 green 98 11 1078
2 blue 90 9 810
>>data.loc[2, 'momentum']
810
</code></pre>
<p>我不确定的是你想要的元数据位。我知道这是整个对象(不是特定事件)的一些元数据。我不知道向<code>DataFrame</code>添加“global metadata”的简单方法,但是您可以添加一个包含信息的额外列(即使它对于所有事件都是相同的)。在您的例子中:</p>
<pre><code>data = pd.DataFrame({'color': ['red', 'green', 'blue'],
'mass': [100, 98, 90],
'speed': [10,11,9],
'event_type': "2015-12-11T1442Z"})
</code></pre>
<p>结果是</p>
<pre><code>>>print data
color event_type mass speed
0 red 2015-12-11T1442Z 100 10
1 green 2015-12-11T1442Z 98 11
2 blue 2015-12-11T1442Z 90 9
</code></pre>