[파이썬][scipy] scipy에서 기본 IO (입출력)

파이썬은 데이터 처리 및 분석 작업에서 널리 사용되는 인기 있는 프로그래밍 언어입니다. 데이터를 읽고 쓰는 기능은 데이터 분석 작업에서 중요합니다. 이를 위해 scipy 라이브러리는 다양한 입력 및 출력 (I/O) 기능을 제공합니다. 이 블로그 포스트에서는 scipy의 기본 I/O 기능을 살펴보겠습니다.

파일 읽기 (File Reading)

파일을 읽는 것은 데이터를 가져와서 분석하기 위한 첫 번째 단계일 수 있습니다. scipy에서 파일을 읽을 때 주로 사용되는 함수는 scipy.io.loadmat() 입니다. 이 함수를 사용하여 MATLAB 파일 (.mat)을 읽을 수 있습니다.

import scipy.io

data = scipy.io.loadmat('data.mat')

이 코드는 'data.mat'로 지정된 파일을 읽고, data 변수에 반환합니다. 읽은 데이터는 MATLAB 파일의 변수와 동일한 이름으로 접근할 수 있습니다.

파일 쓰기 (File Writing)

데이터 분석을 한 후에는 결과를 파일에 저장하는 것이 유용할 수 있습니다. scipy에서 파일을 쓸 때는 scipy.io.savemat() 함수를 사용할 수 있습니다. 이 함수를 사용하여 변수를 MATLAB (.mat) 형식으로 저장할 수 있습니다.

import scipy.io

data = {'key': 'value'}
scipy.io.savemat('data.mat', data)

위의 코드는 data라는 변수를 'data.mat'로 지정된 파일에 저장합니다.

텍스트 파일 읽기와 쓰기 (Text File Reading and Writing)

특정 형식의 데이터를 읽고 쓸 때는 텍스트 파일이 많이 사용됩니다. scipy에서는 텍스트 파일을 읽고 쓰기 위한 다양한 함수를 제공합니다.

텍스트 파일 읽기

import numpy as np

data = np.loadtxt('data.txt', delimiter=',')

위의 코드는 data.txt 파일을 읽고 데이터를 data 변수에 저장합니다. delimiter 매개변수를 사용하여 데이터의 구분 기호를 지정할 수 있습니다.

텍스트 파일 쓰기

import numpy as np

data = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('data.txt', data, delimiter=',')

위의 코드는 data 배열을 data.txt 파일에 저장합니다. delimiter 매개변수로 구분 기호를 지정할 수 있습니다.

CSV 파일 읽기와 쓰기 (CSV File Reading and Writing)

CSV 파일은 텍스트 파일의 한 종류로, 쉼표로 열이 구분되는 데이터를 담고 있습니다. scipy에서 CSV 파일을 읽고 쓰기 위해서는 numpy 라이브러리의 함수를 사용할 수 있습니다.

CSV 파일 읽기

import numpy as np

data = np.genfromtxt('data.csv', delimiter=',')

위의 코드는 data.csv 파일을 읽고 데이터를 data 변수에 저장합니다. delimiter 매개변수를 사용하여 데이터의 구분 기호를 지정할 수 있습니다.

CSV 파일 쓰기

import numpy as np

data = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('data.csv', data, delimiter=',')

위의 코드는 data 배열을 data.csv 파일에 저장합니다. delimiter 매개변수로 구분 기호를 지정할 수 있습니다.

요약 (Summary)

scipy는 데이터 입출력을 위한 다양한 기능을 제공합니다. 이 블로그 포스트에서는 scipy를 사용하여 파일과 텍스트 파일, CSV 파일을 읽고 쓰는 방법을 살펴보았습니다. 이러한 기능을 사용하여 데이터를 효율적으로 처리하고 분석할 수 있습니다.

참고 자료: