Записать несколько массивов в файл - PullRequest
7 голосов
/ 06 августа 2010

Я знаю, как использовать numpy.savetxt для записи массива в файл. Как я могу записать несколько массивов в один файл?

По сути, я хочу сделать математику для столбца чисел, а затем заменить старый столбец с измененными числами. Я прочитал самый простой способ сделать это - полностью написать новый файл, вставить измененные числа и просто «скопировать и вставить» другие числа в файл.

Любая помощь приветствуется.

Спасибо!

Ответы [ 3 ]

5 голосов
/ 27 апреля 2012

Ответ на очень старый пост для моего собственного использования.Я использовал следующее, чтобы выписать два одномерных массива того же размера, что и CSV.

import numpy as np

x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
# >>> [(1, 4), (2, 5), (3, 6)]

# Save the array back to the file
np.savetxt('z.csv', zipped, fmt='%i,%i')
5 голосов
/ 06 августа 2010

Если вы хотите записать несколько массивов в файл для дальнейшего использования, изучите numpy.savez .

Однако из вашего описания звучит так, будто вы хотите что-то сделать с определенным столбцом текстового файла с разделителями.

В этом случае просто загрузите всю вещь и работайте только с тем столбцом, который вам нужен.

1009 * Е.Г. *

import numpy as np

data = np.loadtxt('test.txt')

# Multiply the 4th column by 5
data[:,3] *= 5

# Do something more complicated to the 2nd column
data[:,1] = np.cos(data[:,1])

# Save the array back to the file
np.savetxt('test.txt', data)
1 голос
/ 02 июня 2017
import numpy


list1 = [1, 2, 3, 4]

list2 = [0.45, 0.98, 0.89, 0.21]

dat = numpy.array([list1, list2])

dat = dat.T

numpy.savetxt('data.txt', dat, delimiter = ',')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...