数组格式与numpy?

时间:2014-09-10 00:23:11

标签: python arrays numpy

我试图为数学处理创建一个numpy数组,我似乎无法正确格式化我的代码。我有来自numpy数组的信号:'A','B','C','D','E'我想成为"标题"或者我的数组的第0行。以下行我想从存储信号的同一个numpy数组插入值,其中:

values = np.array(dat_arr[:,7])

signals = ['A','B','C','D','E']

我知道格式[[signals],[values]]不正确,因为我想要一个输出类似的数组:

[A, B, C, D, E,
 3, 4, 7, 5, 8,
 5, 2, 1, 6, 9]

我是numpy和python编程的新手。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用structured types执行此操作。对于包含以下内容的文本文件:

A, B, C, D, E
3, 4, 7, 5, 8
5, 2, 1, 6, 9

你可以这样做:

a = np.genfromtxt('test.txt', names=True, delimiter=',')

为了获得这种结构化数组,你可以这样做:

print(a['A'])
#[ 3.  5.]

编辑:

你也可以从列表列表中获取结构化数组,在这种情况下它可能是这样的:

values = [[3, 4, 7, 5, 8],
          [5, 2, 1, 6, 9]]
signals = ['A','B','C','D','E']

a = np.rec.array(values, dtype=list(zip(signals, [float]*len(signals))))