Добавление столбца к массиву питонов - PullRequest
0 голосов
/ 30 июня 2018

У меня есть Python NumPy Nndarray с 2 числовыми полями. Хотите добавить третье поле, которое является умножением двух. Два столбца названы «A» и «B», и я хочу, чтобы третий столбец назывался «C». Как мне поступить?

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

тоже работает, но более многословно

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)
0 голосов
/ 30 июня 2018

Это в одну сторону :

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

Другой способ :

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

Обратите внимание, что они вернут новый массив, содержащий все столбцы. Нет способа добавить столбец на место.

...