HOWTO · NumPy

Python에서 CSV를 NumPy 배열로 읽기

이 튜토리얼은 csv 파일을 numpy 배열로 읽는 방법을 보여줍니다.

이 페이지의 내용

이 자습서에서는 CSV 파일에서 데이터를 읽고 numpy 배열에 저장하는 방법에 대해 설명합니다.

numpy.genfromtxt()함수를 사용하여 CSV 데이터를 NumPy 배열로 읽습니다

genfromtxt()함수는 텍스트 파일에서 데이터를로드하는 데 자주 사용됩니다. 이 함수를 사용하여 CSV 파일에서 데이터를 읽고 numpy 배열에 저장할 수 있습니다. 이 함수에는 사용 가능한 많은 인수가 있으므로 원하는 형식으로 데이터를 쉽게로드 할 수 있습니다. 구분자를 지정하고, 누락 된 값을 처리하고, 지정된 문자를 삭제하고,이 함수의 다른 인수를 사용하여 데이터의 데이터 유형을 지정할 수 있습니다.

예를 들면

from numpy import genfromtxt

data = genfromtxt("sample.csv", delimiter=",", skip_header=1)
print(data)

출력:

[[1. 2. 3.]
 [4. 5. 6.]]

동일한 기능을 수행 할 수 있지만 기본값이 다른recfromtxt()recfromcsv()와 같은 다른 많은 함수가 여기에서 파생됩니다.

다음 코드에서는recfromcsv()파일을 사용하여 CSV 파일에서 데이터를 읽습니다.

import numpy as np

data = np.recfromcsv("sample.csv", skip_header=0)
print(data)

출력:

[(1, 2, 3) (4, 5, 6)]

구분 기호를 쉼표로 지정하고 헤더 행을 지정하기 위해 다른 값을 지정할 필요가 없었습니다.

pandas DataFrame을 사용하여 CSV 데이터를 NumPy 배열로 읽기

또한pandas DataFrame을 사용하여 CSV 데이터를 배열로 읽을 수 있습니다. 이를 위해 데이터를 DataFrame으로 읽은 다음pandas라이브러리의values()함수를 사용하여이를numpy()배열로 변환합니다.

다음 코드는이를 구현합니다.

from pandas import read_csv

df = read_csv("sample.csv")
data = df.values
print(data)

출력:

[[1 2 3]
 [4 5 6]]

csv모듈을 사용하여 NumPy 배열로 CSV 데이터 읽기

csv모듈은 CSV 파일에 데이터를 효율적으로 읽고 쓰는 데 사용됩니다. 이 메서드는이 모듈을 사용하여 CSV 파일에서 데이터를 읽고 목록에 저장합니다. 그런 다음이 목록을 numpy 배열로 변환합니다.

아래 코드가이를 설명합니다.

import csv
import numpy as np

with open("sample.csv", "r") as f:
    data = list(csv.reader(f, delimiter=";"))

data = np.array(data)
print(data)

출력:

[['1,2,3']
 ['4,5,6']]