我知道已经有关于这个主题的问题(将字段添加到结构化 numpy 数组的最简洁方法),请参阅
但我对那里给出的答案有疑问......
如果您使用的是 numpy 1.3,还有 numpy.lib.recfunctions.append_fields()
我还有 numpy 1.3,但是它不识别这个函数,而且我在 numpy 的文档中也没有找到任何关于它的信息。函数发生了什么?是否有其他功能可以做到这一点?
我知道已经有关于这个主题的问题(将字段添加到结构化 numpy 数组的最简洁方法),请参阅
但我对那里给出的答案有疑问......
如果您使用的是 numpy 1.3,还有 numpy.lib.recfunctions.append_fields()
我还有 numpy 1.3,但是它不识别这个函数,而且我在 numpy 的文档中也没有找到任何关于它的信息。函数发生了什么?是否有其他功能可以做到这一点?
http://projects.scipy.org/numpy/browser/branches/1.3.x/numpy/lib/recfunctions.py?rev=8229
你进口了吗?
from numpy.lib import recfunctions
recfunctions.append_fields(*your_args) # base, names, data, ...
似乎一切正常:
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__version__
'1.3.0'
>>> from numpy.lib.recfunctions import append_fields
>>> append_fields
<function append_fields at 0x9e3e80c>
>>>
这是一个如何使用的具体示例append_fields(..)
(诚然基于此处的其他答案):
import numpy as np
x = np.array(np.arange(0,10), dtype = [('x', float)])
y = np.array(np.arange(10,20), dtype = [('y', float)])
from numpy.lib.recfunctions import append_fields
z = append_fields(x, 'y', y)
在哪里
z.dtype.names
会给
('x', 'y')
请注意,y
in 也可以是ndarray
没有列名的“普通”:
y = np.arange(10,20)
或者您可以将列重命名为y
其他名称(即使 y 是具有列名的结构化数组):
z = append_fields(x, 'p', y)
(在 numpy 1.6.1 中测试)
至于recfunctions的文档,这里是:http ://pyopengl.sourceforge.net/pydoc/numpy.lib.recfunctions.html
如果您在阅读后无法弄清楚,那么请提供一些代码示例(例如,您是否导入了 numpy.lib.recfunctions?)以及错误消息或不期望的结果,以便我们确定如何修复它。