2014-03-19 6 views
0

파이썬에서 파일에서 2 열 행렬을로드하려고합니다. 나는 수동으로 이것을 입력 할 수 있습니다loadtxt python3에서 행렬 오류

xdata = np.array([0.1639534, 0.2411005, 0.3130353, 0.3788510, 0.4381247, 0.5373147, 0.6135673, 0.6716365, 0.7506711, 0.8000908, 0.9000000]) 
ydata =np.array ([7.1257999E-04,9.6610998E-04,1.1894000E-03,1.3777000E-03,1.5285000E-03,1.7297000E-03,1.8226000E-03,1.8422999E-03,1.7741000E-03,1.6574000E-03,1.1877000E-03]) 

하지만이 파일에서로드 할 : 나는 시도 , thisthis에서

$ cat fit 
0.16395341 0.71258E-03 
0.24110050 0.96611E-03 
0.31303529 0.11894E-02 
0.37885098 0.13777E-02 
0.43812473 0.15285E-02 
0.53731472 0.17297E-02 
0.61356731 0.18226E-02 
0.67163649 0.18423E-02 
0.75067115 0.17741E-02 
0.80009080 0.16574E-02 
0.90000000 0.11877E-02 

xdata, ydata =np.loadtxt(fit,delimiter=' ') 

것을 알 수 :

$ python least.py 
Traceback (most recent call last): 
    File "least.py", line 5, in <module> 
    xdata, ydata =np.loadtxt(fit,delimiter=' ') 
NameError: name 'fit' is not defined 

여기에 무슨 문제가 있습니까? 어떤 도움을 주시겠습니까?

답변

1

fit이라는 변수가 없습니다. 파일 이름은 'fit' 문자열입니다. 또한 언 패킹을 위해 교체 된 배열을 만들려면 unpack=True 인수가 필요합니다.

>>> xdata, ydata = np.loadtxt('fit', unpack=True) 

>>> xdata 
array([ 0.16395341, 0.2411005 , 0.31303529, 0.37885098, 0.43812473, 
     0.53731472, 0.61356731, 0.67163649, 0.75067115, 0.8000908 , 
     0.9  ]) 

>>> ydata 
array([ 0.00071258, 0.00096611, 0.0011894 , 0.0013777 , 0.0015285 , 
     0.0017297 , 0.0018226 , 0.0018423 , 0.0017741 , 0.0016574 , 
     0.0011877 ])