繁体   English   中英

将字段添加到结构化的 numpy 数组(二)

[英]Adding a field to a structured numpy array (2)

我知道已经有一个关于这个主题的问题(将字段添加到结构化 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?)和错误消息或不想要的结果,以便我们确定如何修复它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM