создать массив данных из ряда данных - PullRequest
0 голосов
/ 06 мая 2019

В моем файле данных есть образец для каждой строки. Каждый ряд 400 число с плавающей точкой. Это изображение размером 20x20 на одной строке. Я должен написать массив с размерами (номер строки, 20, 20, 1). Последнее измерение - это значение (число с плавающей точкой в ​​файле).

Я пробовал что-то вроде:

X1=[]
for x in range (1,nrow+1):
    for a in range (1,21):
        for b in range (1,21):
           index = a*b-1
           X1.append((x,a,b,X[x,index]))
X = np.array(X1)

но я знаю, что это неправильно.

РЕДАКТИРОВАТЬ:

Может быть, это решение:

X1=[]
for x in range (1,Nsamples+1):
    for a in range (1,21):
        for b in range (1,21):
           index = a*b-1
           X1.append((X[x,index]))
           #X1.append((X[x,index], x))
X = np.array(X1)
X = X.reshape(Nsamples,20,20,1)

Ответы [ 2 ]

1 голос
/ 06 мая 2019

попробуйте использовать Reshape

X = X.reshape(X.shape[0],20,20,1)

, он даст вам массив массив изображений с таким же количеством строк

0 голосов
/ 06 мая 2019

Это, кажется, правильный ответ, благодаря людям, которые помогли.

X1=[]
for x in range (1,Nsamples+1):
    for a in range (1,21):
        for b in range (1,21):
           index = a*b-1
           X1.append((X[x,index]))
X = np.array(X1)
X = X.reshape(Nsamples,20,20,1)
...