수색…


이진 파일을 사용하여 열거 형 배열 저장 및로드

x = np.random.random([100,100])
x.tofile('/path/to/dir/saved_binary.npy')
y = fromfile('/path/to/dir/saved_binary.npy')
z = y.reshape(100,100)
all(x==z)
# Output:
#     True

일관된 구조로 텍스트 파일에서 수치 데이터로드

np.loadtxt 함수는 csv와 유사한 파일을 읽는 데 사용할 수 있습니다.

# File:
#    # Col_1 Col_2
#    1, 1
#    2, 4
#    3, 9
np.loadtxt('/path/to/dir/csvlike.txt', delimiter=',', comments='#')
# Output:
# array([[ 1.,  1.],
#        [ 2.,  4.],
#        [ 3.,  9.]])

동일한 파일은 np.fromregex 있는 정규식을 사용하여 읽을 수 있습니다.

np.fromregex('/path/to/dir/csvlike.txt', r'(\d+),\s(\d+)', np.int64)
# Output:
# array([[1, 1],
#        [2, 4],
#        [3, 9]])

CSV 형식 ASCII 파일로 데이터 저장

아날로그에서 np.loadtxt 까지 np.savetxt 는 ASCII 파일로 데이터를 저장하는 데 사용할 수 있습니다.

import numpy as np
x = np.random.random([100,100])
np.savetxt("filename.txt", x)

형식을 제어하려면 다음을 수행하십시오.

np.savetxt("filename.txt", x, delimiter=", " , 
    newline="\n", comments="$ ", fmt="%1.2f",
    header="commented example text")

산출:

$ commented example text
0.30, 0.61, 0.34, 0.13, 0.52, 0.62, 0.35, 0.87, 0.48, [...]

CSV 파일 읽기

세 가지 주요 기능을 사용할 수 있습니다 (맨 페이지에서 설명).

fromfile - 형식이 지정된 텍스트 파일을 구문 분석 할뿐만 아니라 알려진 데이터 유형으로 이진 데이터를 읽는 매우 효율적인 방법입니다. tofile 메소드를 사용하여 작성된 데이터는이 함수를 사용하여 읽을 수 있습니다.

genfromtxt - 텍스트 파일에서 데이터를로드합니다. 누락 된 값이 지정된대로 처리됩니다. 첫 번째 skip_header 행을 지나친 각 행은 구분 문자로 분리되며 주석 문자 다음의 문자는 무시됩니다.

loadtxt - 텍스트 파일에서 데이터를로드합니다. 텍스트 파일의 각 행은 동일한 수의 값을 가져야합니다.

genfromtxt 래퍼 함수이다 loadtxt . genfromtxt 는 입력 파일을 다루기위한 많은 매개 변수를 가지고 있기 때문에 가장 직접적으로 사용할 수 있습니다.

일관된 수의 열, 일관된 데이터 유형 (숫자 또는 문자열) :

입력 파일 인 myfile.csv 에 내용이 있음 :

#descriptive text line to skip
1.0, 2, 3
4, 5.5, 6

import numpy as np
np.genfromtxt('path/to/myfile.csv',delimiter=',',skiprows=1)

배열을 준다 :

array([[ 1. ,  2. ,  3. ],
       [ 4. ,  5.5,  6. ]])

일관된 수의 열, 혼합 데이터 유형 (열 전반) :

1   2.0000  buckle_my_shoe
3   4.0000  margery_door

import numpy as np
np.genfromtxt('filename', dtype= None)


array([(1, 2.0, 'buckle_my_shoe'), (3, 4.0, 'margery_door')], 
dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', '|S14')])

dtype=None 사용하면 재 배열이 발생합니다.

일치하지 않는 열 수 :

파일 : 1 2 3 4 5 6 7 8 9 10 11 22 13 14 15 16 17 18 19 20 21 22 23 24

단일 행 배열로 :

result=np.fromfile(path_to_file,dtype=float,sep="\t",count=-1)


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow