[python] NumPy를 사용하여 다른 타입의 파일을 다루는 방법을 알려주세요.

NumPy는 파이썬에서 과학적 계산과 데이터 분석을 위한 핵심 패키지입니다. NumPy는 배열(Array) 계산을 간편하게 해주는 다양한 기능을 제공하며, 다른 타입의 파일을 읽고 쓸 수 있는 도구도 포함하고 있습니다. 이번 글에서는 NumPy를 사용하여 다른 타입의 파일을 다루는 방법에 대해 알아보겠습니다.

1. CSV 파일 다루기

CSV(Comma Separated Values) 파일은 값들이 쉼표(,)로 구분된 텍스트 파일입니다. NumPy에서는 loadtxt 함수를 사용하여 CSV 파일을 읽을 수 있습니다. 다음은 CSV 파일을 읽어 NumPy 배열로 저장하는 예제 코드입니다.

import numpy as np

data = np.loadtxt('data.csv', delimiter=',', skiprows=1)
print(data)

위 코드에서는 loadtxt 함수를 사용하여 ‘data.csv’ 파일을 읽습니다. delimiter 매개변수는 값들이 구분되는 문자를 지정합니다. 위 예제에서는 쉼표로 구분된 CSV 파일을 다루기 때문에 delimiter=','로 설정합니다. 또한, skiprows 매개변수를 사용하여 헤더를 건너뛸 수 있습니다.

2. 텍스트 파일 다루기

NumPy는 텍스트 파일을 다루기 위한 savetxt 함수를 제공합니다. 다음은 NumPy 배열을 텍스트 파일에 저장하는 예제 코드입니다.

import numpy as np

data = np.array([1, 2, 3, 4, 5])
np.savetxt('output.txt', data, fmt='%d')

위 코드에서는 savetxt 함수를 사용하여 NumPy 배열을 ‘output.txt’ 파일에 저장합니다. fmt 매개변수는 출력 형식을 지정하는데, 위 예제에서는 %d로 정수 형식으로 저장하도록 설정했습니다.

3. 바이너리 파일 다루기

바이너리 파일은 텍스트 형식이 아닌 0과 1로 이루어진 파일입니다. NumPy는 fromfiletofile 함수를 사용하여 바이너리 파일을 읽고 쓸 수 있습니다. 다음은 바이너리 파일을 읽어 NumPy 배열로 저장하는 예제 코드입니다.

import numpy as np

data = np.fromfile('data.bin', dtype=np.float32)
print(data)

위 코드에서는 fromfile 함수를 사용하여 ‘data.bin’ 파일을 읽고, dtype 매개변수를 사용하여 데이터의 타입을 지정합니다. 위 예제에서는 np.float32 타입으로 바이너리 파일을 읽습니다.

바이너리 파일을 쓰려면 tofile 함수를 사용합니다. 다음은 NumPy 배열을 바이너리 파일에 저장하는 예제 코드입니다.

import numpy as np

data = np.array([1, 2, 3, 4, 5], dtype=np.float32)
data.tofile('output.bin')

위 코드에서는 tofile 함수를 사용하여 NumPy 배열을 ‘output.bin’ 파일에 저장합니다. 데이터의 타입은 dtype 매개변수로 지정합니다.

참고 문서

위의 글에서는 NumPy를 사용하여 CSV 파일, 텍스트 파일, 그리고 바이너리 파일을 다루는 방법에 대해 알아보았습니다. NumPy는 다양한 파일 타입을 지원하므로 데이터 분석 및 처리 작업에 유용하게 활용할 수 있습니다. NumPy 공식 문서와 해당 함수의 문서를 참고하여 자세한 사용 방법을 익혀보세요.