Python 在使用numpy.genfromtxt创建的ndarray中插入列

Python 在使用numpy.genfromtxt创建的ndarray中插入列,python,arrays,numpy,numpy-dtype,Python,Arrays,Numpy,Numpy Dtype,我使用一个txt文件创建了一个ndarray。txt文件如下所示: 2505000 10.316 1.936 0.025 0 15 0 0 10.316 1.937 0.028 0 15 0 0 10.316 1.943 0.028 0 15 0 0 10.316 1.954 0.022 0 9 58 0 10.316 1.955 0.026

我使用一个txt文件创建了一个
ndarray
。txt文件如下所示:

2505000
10.316     1.936     0.025    0   15   0   0
10.316     1.937     0.028    0   15   0   0
10.316     1.943     0.028    0   15   0   0
10.316     1.954     0.022    0    9  58   0
10.316     1.955     0.026    0    9  58   0
我正在运行以下程序读取数据:

data = np.genfromtxt(fname,
                     skip_header =1,
                     dtype = [('X','f'),('Y','f'),('Z','f'),('V', 'i'),('T', 'i')],
                     usecols = (0,1,2,4,5))
我现在尝试复制第4列(我称之为
V
),并将其放在其后面(在最后一列
T
之前)


我知道我可以通过执行
data['V']
来复制该列,但如何将该副本放置在
V
T
之间(第4列和第5列)?我看了一下,但不确定如何指定索引(参数
obj
)。我尝试了
numpy.insert(data\u copy,data\u copy['T'],data\u copy['V'])
,但运气不佳(我收到了
indexer错误:索引61超出了大小20的限制)。

您必须使用添加的字段创建一个新的
dtype
,并按字段名将值从原始数组复制到新数组

recfunctions
具有执行此操作的功能(以及相关操作):


您必须使用添加的字段创建一个新的数据类型,并按字段名称将值从原始数组复制到新数组中。查看numpy.lib import recfunctions中的
@hpaulj谢谢,我通过组合recfunctions.append_字段和recfunctions.drop_字段解决了这个问题,尽管我不能指定插入位置。如果没有其他的解决办法,你想把你的评论变成答案,我很乐意接受。
 from numpy.lib import recfunctions