2010-06-25 4 views
1

오늘 나는 옥타브에서 스크립트를 작성하려고 시도하면서 파이썬에서 더 쉬울 것이라고 생각했습니다. 실제로 목록의 수학 연산자는 간단하지만 형식으로 파일에로드하는 것은 쉽지 않습니다. 그렇다면 모듈을 익숙하지 않은 것 같습니다.파이썬의 수학 - 데이터 파일을 행렬로 변환하기

그래서 4 개의 숫자 열이있는 일반적인 데이터 파일이 있습니다. 각 열을 별도의 목록으로로드하고 싶습니다. 이 작업을 더 쉽게하기 위해 사용해야하는 모듈이 있습니까?

+0

감사 해! 누구든지 OSX에서 Numpy를 사용하는 것에 대해 알고 있습니까? 나는 macports에서 py26-numpy를 선택했다. 그러나 이미 가지고있는 파이썬 2.6을 다운로드하는 것 같다. 그래서 나는이 접근 방식을 망쳐 놓았을 것이다 ... – lollygagger

답변

1

이 문제가 해당 문제에 해당하는지 잘 모르겠지만 numpy, 특히 loadtxtsavetxt 기능을 사용해보십시오. 그런 다음 numpy 배열 만 사용하고 파이썬 목록은 숫자 계산에 적합하지 않으므로 사용하지 않아야합니다.

2

매트릭스를 사용한 빠른 계산을 위해서는 Numpy을 시도해야하며, 일부 기능은 load data from files입니다.

1

2 차원 데이터 나 엄청나게 긴 목록을 다루는 경우 Numpy을 사용하는 것이 좋습니다.하지만 굉장히 진보 된 수학을 배우려는 사람이 아니라면 일반 Python을 사용할 수 있습니다. NumPy와의 작업을 얻을

>>> table = [] 
>>> a = "32 42 63 1123" 
>>> table.append(a.split(" ")) # this would be some loop where you file.readline()... 
>>> table.append(a.split(" ")) 
>>> table.append(a.split(" ")) 
>>> table.append(a.split(" ")) 
>>> table 
[['32', '42', '63', '1123'], ['32', '42', '63', '1123'], 
['32', '42', '63', '1123'], ['32', '42', '63', '1123']] 
>>> zip(*table) # this "transposes" the list of lists 
[('32', '32', '32', '32'), ('42', '42', '42', '42'), 
('63', '63', '63', '63'), ('1123', '1123', '1123', '1123')] 
>>> 
+0

고마워, 그게 내가 원하는 많은 다른 것들에 대한 유용한 접근이다. 해야 할 것. – lollygagger

0

가장 쉬운 방법은 Enthought 파이썬 유통을 다운로드하는 것입니다. numpy, scipy 등을 처음부터 설치하면 Mac에 특히 유용합니다. 많은 노력이 필요합니다. 로딩

와 같은 일부 파일을 저장 :

# This is some comment 
1 2 3 
4 5 6 
7 8 9 

당신은

import numpy as np 
data = np.loadtxt(input_filename, comment='#') 
+0

!! 나는 무상으로 오는 무언가를 위해 200 달러를 지불하고 싶지 않다! 이것을 할 다른 방법이 없습니까? 분명히 numpy는 이미 내 컴퓨터에 있지만 사용하려고하면 모든 종류의 이상한 오류가 발생합니다. – lollygagger

+0

나는 학계에 다니지 않아서 Mac 용 무료 32 비트를 이용할 수 없다고 생각합니다. 컴퓨터에서 numpy를 사용하려고 할 때 발생하는 자세한 오류로 다른 질문을 만들 수 있습니까? –

관련 문제