2015-06-03 5 views
0

Я пытаюсь сохранить текст с помощью NumPy, мне нужно, чтобы выяснить, как сортировать перед сохранением в основном я хочу обратный порядокNumPy savetxt порядок сортировки

p является массивом

3 2.5 
2 1.98 
1 7.2 

with open('fin.dat', 'a') as fout: 
    numpy.savetxt(fout,p,fmt='%.4f') 

Я хочу, чтобы сохранить как

1 7.2 
2 1.98 
3 2.5 

Как это сделать?

+0

Is р а 1 одномерный массив? т. е. 'p = np.ndarray ([3, 2.5, 2, 1.98, 1, 7.2])'? – Kyle

+0

Вам не нужен весь 'с открытыми' shenanigans, вы можете передать имя файла непосредственно в savetxt';) ' –

+0

Но хорошо знать, что вы можете поместить' savetxt' в блок 'with open'. Хотя это может быть более полезно с 'loadtxt'. – hpaulj

ответ

1
import numpy as np 

p = np.array([3,2.5,2,1.98,1,7.2]) 
p = p[::-1] 

>> [7.2,1,1.98,2,2.5,3] 

np.savetxt(file,p) 
0

Я отредактировал ваш вопрос, чтобы уточнить, что p - это 2-й массив. Перед тем, как дать savetxt, необходимо отменить p. Например,

q = p[::-1,:] 

отменяет порядок рядов.

Существует простая функция, которая делает ту же самую вещь:

q = np.flipud(p) 
Смежные вопросы