将列添加到python numpy数组

时间:2018-06-30 11:12:57

标签: python numpy-ndarray

我有一个带有2个数字字段的python numpy ndarray。想要向其添加第三个字段,这只是两者的乘积。两列分别命名为“ A”和“ B”,我希望第三列称为“ C”。我应该如何进行?

2 个答案:

答案 0 :(得分:1)

这是one way

numpy.core.records.fromarrays([arr['A'], arr['B'], arr['A']*arr['B']], names='A,B,C')

Another way

numpy.lib.recfunctions.append_fields(arr, 'C', arr['A']*arr['B'])

请注意,这些将返回包含所有列的新数组。无法就地添加列。

答案 1 :(得分:0)

也可以,但是更冗长

import numpy as np

my_array = np.random.random_sample((10,2))
array_c = my_array[:,0]* my_array[:,1]
dt = [('A', float), ('B', float), ('C', float)]
my_array = np.column_stack((my_array, array_c)).astype(dt)