Python을 사용하여 MATLAB을 대체합니다 : 데이터 가져 오기 방법은 무엇입니까?
문제
Matlab을 대체하기 위해 일부 파이썬 라이브러리를 사용하고 싶습니다. Python에서 Excel 데이터를 어떻게 가져올 수 있습니까 (예 : 사용 Numpy) 사용하려면?
Python이 Matlab의 신뢰할 수있는 대안인지는 모르겠지만 시도하고 싶습니다. AA 튜토리얼이 있습니까?
해결책
어떤 종류의 계산을하고 있는지에 따라 MATLAB (그리고 당신이 사용하는 툴박스에서), Python은 matlab의 좋은 대안이 될 수 있습니다.
파이썬 + Numpy + Scipy + matplotlib 시작하기에 적합한 조합입니다.
데이터의 경우 예를 들어 데이터를 텍스트 파일로 직접 저장하고 (부동 소수점 정밀 문제로 직접 걱정하지 않는다고 가정)를 읽을 수 있습니다. 파이썬.
데이터가있는 경우 뛰어나다 각 값이 ";"로 분리되는 데이터, 예를 들어 파일을 한 줄씩 읽고 split () 메소드 (with ";"As Arth)를 사용하여 각 값을 얻을 수 있습니다.
버전 7.1까지 Matlab의 경우 Python에서 .mat 파일을 직접로드 할 수 있습니다. scipy.io.matlab.mio 기준 치수.
다른 팁
Pandas는 Excel에서 매우 쉽게 가져 오거나 내보낼 수있는 Python Data Analysis 라이브러리입니다. 다음은 다음과 같은 방법입니다.
http://pandas.pydata.org/pandas-docs/stable/10min.html#excel
단기 특강:
import pandas as pd
data = pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
데이터를 저장 한 경우 MATLAB 형식, 사용 :
from scipy.io import loadmat
datafile = "yourfile.mat"
data = loadmat(datafile, matlab_compatible=True)
var1 = data['nameOfYourVariable'].squeeze()
var2 = data['nameOfYourOtherVariable'].squeeze()
"Python이 Matlab에 대한 믿을만한 대안인지 모르겠습니다."
나를 위해 (실험 물리학) 파이썬은 완전한 대체품 일뿐입니다. MATLAB (포함시 Scipy 그리고 matplotlib 위에서 언급했듯이), 그러나 데이터 크런치 및 시각화 이외의 많은 것들에 유용합니다 (일반적인 프로그래밍 요구).
"세이지를 시도 할거야."
몇 개의 서버가 실행되고 있다는 점에 주목할 가치가 있습니다. 세이지 노트북 EnvironMet을 제공합니다 (확인 Sage Online을 사용해보십시오 안에 http://www.sagemath.org/). 필요한 모든 것이 인터넷 브라우저와 액세스 (설치 필요 없음)라는 사실을 감안할 때 이것은 매우 깔끔합니다.
Kevin Buchs (또 다른 답변에서)에 의해 해석 된 질문에 관해서는, Python에 대한 독점 엑셀을 읽는 것은 여러 가지 방법으로 수행 될 수 있으며 일부는 플랫폼 (OS)입니다.
- 멋진 리소스 (플랫폼 독립) - http://www.python-excel.org/
- 사용 예 xlrd 한 번은 유용한 것을 발견했습니다 (이것은 내가 필요할 때 내가 사용한 것입니다) : http://code.activestate.com/recipes/483742/ XLRD (플랫폼 독립)를 기반으로 한 예제
- pyexcelerator 또 다른 옵션입니다.
이게 도움이 되길 바란다. 그렇지 않다면, 나는 몇 가지 예제 코드를 직접 배열하려고 노력할 수 있습니다 (내가 가진 것들은 6 세 이상이지만 ...). 나는 다른 답변에서 제안한 것처럼 CSV 또는 ASCII 형식을 사용하는 것을 개인적으로 선호합니다.