Сохраните структурированный массив с использованием np.savetxt с заголовком - PullRequest
0 голосов
/ 25 июня 2018

У меня есть массив структур в виде

output = np.zeros(names.size, dtype=[('name', 'U32'), ('r', float),('m',float)])

Затем я попытался сохранить его в файл csv, используя np.savetxt.Мне интересно, есть ли способ, которым я мог бы также сохранить метку каждого столбца в качестве заголовка файла CSV?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Вы можете попробовать решение, подобное этому SO-ответу , чтобы развернуть данные

dtypes = [('name', 'U32'), ('r', float),('m',float)]
a = np.zeros(5, dtype=dtypes)
b = numpy.vstack(map(list, a))

, где вы отображаете список поверх наборов повторного массива, а затем складываете их по вертикали.

Тогда вы можете сделать следующее ...

names = [n for n, t in dtypes]
numpy.savetxt('test.csv', b, header=','.join(names), fmt=','.join(['%s']*b.shape[1]))
0 голосов
/ 25 июня 2018

Ниже приведен пример кода:

output = np.zeros(names.size, dtype=[('name', 'U32'), ('r', float),('m',float)])
np.savetxt("foo.csv", output, delimiter=",", header="name,r,m", fmt="%s,%f,%f", comments='')

Как указано здесь .

...