Hello,
I would like to reshape and then transpose data that I import from a file. I downloaded the 'numarray' to access the shape and transpose functions since I am using python version 2.5. This is the pdf I'm using: http://stsdas.stsci.edu/numarray/numarray-1.5.pdf

The data is one long column (length=455), I will attach the data file in the next post to this thread.

However, I am not able to successfully reshape after multiple tries with a couple functions (see the errors embedded in the code).

Is the list not a 1-D array that can be manipulate by shape?
Suggestions are cordially invited.

#Import Modules
import os, copy, numarray

workDIR = "C:\\temp"
os.chdir(workDIR)
data=[]
#for filex in runlist:
x=open('datacol.txt','r')
for i in xrange(455):
    z=x.readline()
    z=float(z)
    data.append(z)
new=numarray.reshape(data(5,91))#this line returns the error below:
new=reshape(data(5,91))#this line also returns the error below:
##Traceback (most recent call last):
##  File "C:/work/scripts/RESAMPLER2dani.py", line 19, in <module>
##    new=reshape(data(5,91))
##    NameError: name 'reshape' is not defined

new=data.shape(5,91)#this line returns the error:
##File "C:/work/scripts/RESAMPLER2dani.py", line 19, in <module>
##    new=data.shape(5,91)
##AttributeError: 'list' object has no attribute 'shape' 
##

new_tr=transpose(data)

Here is the data set.

Attachments
0.12
0.14
0.15
0.18
0.18
0.16
0.13
0.16
0.15
0.16
0.16
0.16
0.16
0.17
0.17
0.18
0.17
0.18
0.17
0.16
0.15
0.16
0.16
0.10
0.11
0.10
0.11
0.10
0.13
0.12
0.11
0.10
0.10
0.10
0.10
0.10
0.10
0.09
0.09
0.08
0.08
0.07
0.08
0.07
0.16
0.06
0.07
0.05
0.06
0.05
0.05
0.08
0.07
0.07
0.15
0.06
0.06
0.05
0.14
0.14
0.05
0.14
0.15
0.15
0.14
0.14
0.15
0.16
0.16
0.10
0.09
0.09
0.17
0.17
0.10
0.13
0.12
0.12
0.12
0.13
0.12
0.12
0.08
0.07
0.08
0.05
0.08
0.06
0.07
0.11
0.10
0.10
0.10
0.09
0.09
0.10
0.07
0.10
0.10
0.10
0.11
0.11
0.11
0.12
0.12
0.16
0.17
0.14
0.15
0.13
0.13
0.13
0.13
0.13
0.18
0.11
0.12
0.12
0.17
0.19
0.19
0.19
0.19
0.19
0.20
0.19
0.19
0.17
0.18
0.18
0.18
0.19
0.19
0.17
0.17
0.18
0.18
0.18
0.18
0.17
0.19
0.24
0.21
0.19
0.18
0.18
0.18
0.23
0.23
0.18
0.20
0.20
0.19
0.19
0.22
0.20
0.18
0.20
0.26
0.23
0.22
0.25
0.26
0.26
0.26
0.26
0.27
0.26
0.24
0.23
0.22
0.25
0.28
0.29
0.29
0.30
0.29
0.28
0.27
0.26
0.26
0.26
0.24
0.24
0.26
0.25
0.26
0.23
0.24
0.22
0.23
0.22
0.22
0.22
0.20
0.20
0.20
0.21
0.21
0.20
0.18
0.13
0.15
0.15
0.13
0.15
0.15
0.12
0.11
0.12
0.12
0.12
0.13
0.15
0.16
0.14
0.13
0.13
0.14
0.16
0.19
0.18
0.19
0.20
0.18
0.19
0.19
0.19
0.19
0.20
0.21
0.22
0.21
0.19
0.22
0.21
0.25
0.27
0.26
0.27
0.27
0.25
0.32
0.31
0.33
0.34
0.32
0.30
0.28
0.33
0.33
0.37
0.36
0.33
0.34
0.35
0.34
0.36
0.35
0.38
0.39
0.40
0.43
0.44
0.43
0.45
0.45
0.47
0.47
0.42
0.41
0.45
0.43
0.44
0.42
0.43
0.49
0.46
0.44
0.41
0.41
0.41
0.38
0.39
0.40
0.39
0.39
0.39
0.42
0.42
0.46
0.43
0.46
0.50
0.52
0.54
0.55
0.54
0.56
0.56
0.57
0.52
0.51
0.54
0.61
0.59
0.65
0.64
0.65
0.66
0.66
0.64
0.68
0.60
0.53
0.53
0.55
0.60
0.59
0.58
0.59
0.65
0.63
0.61
0.60
0.60
0.60
0.61
0.63
0.67
0.69
0.68
0.70
0.71
0.73
0.72
0.69
0.68
0.61
0.57
0.68
0.68
0.66
0.70
0.72
0.76
0.73
0.71
0.74
0.70
0.71
0.66
0.67
0.69
0.61
0.63
0.63
0.64
0.59
0.52
0.46
0.40
0.37
0.38
0.38
0.37
0.39
0.37
0.37
0.36
0.37
0.37
0.37
0.38
0.38
0.38
0.37
0.37
0.35
0.35
0.35
0.34
0.34
0.33
0.33
0.33
0.33
0.33
0.35
0.36
0.36
0.39
0.40
0.40
0.40
0.41
0.40
0.41
0.39
0.38
0.36
0.38
0.36
0.37
0.37
0.40
0.39
0.42
0.43
0.48
0.51
0.52
0.53
0.55
0.56
0.54
0.55
0.53
0.56
0.57
0.58
0.62
0.59
0.58
0.57
0.55
0.56
0.57
0.55
0.56
0.58
0.62
0.59
0.58
0.57
0.55
0.56
0.57
0.55
0.56
0.58
0.62
0.59
0.58
0.57
0.55
0.56
0.57
0.55
0.56
0.58
0.62
0.59
0.58
0.57

numarray.reshape doesn't apply to python lists. It applies to numarray.NumArray, which is a different type with a specific implementation. You can write

data2 = numarray.array(data)
data3 = numarray.reshape(data2, 5, 91)

Edited 6 Years Ago by Gribouillis: n/a

This question has already been answered. Start a new discussion instead.