1

ndarray我使用 txt 文件创建了一个numpy.genfromtxt. 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'],但是如何将此副本放在VT(第 4 列和第 5 列)之间?我看了看numpy.insert,但我不确定如何指定索引(obj参数)。我尝试了numpy.insert(data_copy, data_copy['T'],data_copy['V'])没有运气(我收到了IndexError: index 61 is out of bounds for size 20)。

4

1 回答 1

1

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

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

 from numpy.lib import recfunctions

numpy dtype 错误 - (结构化数组创建)

于 2016-11-30T18:11:48.183 回答