我来自 Matlab,需要在 python/numpy 中重新实现一些数据处理。我有特定格式的数据文件,但它可以改变文件中列出的变量。
在 matlab 中,我可以编写函数将数据数组粘贴到方便的结构中,如下所示:
s = data_to_struct(filename)
s.altitude
s.time
s.latitude
s.longitude
s.density
s.temperature
然后我可以将其传递给各种绘图或过滤功能。我想在 Python 中做同样的事情,使用对象代替结构。我知道正确的™方法是使用字典,但对于这种非常具体和有限的情况,字典语法在我看来更丑陋:s.temperature vs s['temperature'],以及打字更麻烦。从文件中读取一串变量名称,然后使用这些名称创建变量或对象成员的最佳方法是什么?
我会做很多交互式绘图和数据处理,我想让打字和跳格尽可能简单。
请您参考如下方法:
>>> from collections import namedtuple
>>> Something = namedtuple('Something', 'a b c')
>>> a = Something(1, 2, 4)
>>> a.c
4
如果您已经对数据进行了反序列化并且它作为多个相同长度的元组的集合存在,这会特别方便。
