我有三个约束,而且,像往常一样,我只能弄清楚如何同时满足其中任何两个:
- 多维数组
- 命名列
- 不同的列包含不同的数据类型(因此 col 1 中的所有内容都是字符串,但 col 2 都是 Decimal 等)
我目前正在使用 numpy ndarrays 在每列中存储不同类型的数据。我已经初始化了数组,以便它可以存储多种数据类型:
norm = numpy.empty((79, len(header)), dtype=numpy.object)
我一直在使用标题(字符串名称列表)作为列名的代理(然后在标题中查找值的索引),但这看起来很笨拙。
我环顾四周,但据我所知,当您使用列名(和类型)初始化数组时,您必须在这样做时用值填充数组,如:Store NumPy Row and Column Headers
因为当我尝试这样的事情时:
n=numpy.empty((5,2), dtype=[("sub", "str"), ("words", Decimal)])
n[0] = ['06', Decimal(10)]
我收到此错误:
Traceback (most recent call last):
File "<string>", line 1, in <fragment>
ValueError: Setting void-array with object members using buffer.