일부 데이터를 2D numpy 배열에로드하는 함수가 있습니다. 함수 호출이 시작과 끝에서 제거 할 수있는 행과 열을 지정하도록하고 싶습니다. 매개 변수를 지정하지 않으면 모든 데이터가 반환됩니다.numpy 배열 끝의 인덱스
import numpy as np
function load_data(min_row, max_row, min_col, max_col):
a = np.loadtxt('/path/to/mydata.txt')[min_row:max_row,min_col:max_col]
이제 min_row
및 min_col
는 0
기본값 수 있습니다. max_col
및 max_row
의 기본값을 배열의 끝으로 어떻게 설정합니까?
내 유일한 솔루션입니다 :
function load_data(min_row=0, max_row=None, min_col=0, max_col=None):
a = np.loadtxt('/path/to/mydata.txt')
if not max_row: max_row = a.shape[0]
if not max_col: max_col = a.shape[1]
a = a[min_row:max_row,min_col:max_col]
더 나은 솔루션과 같은 것이 있습니다 : 공식적으로
function load_data(min_row=0, max_row="end", min_col=0, max_col="end"):
a = np.loadtxt('/path/to/mydata.txt')[min_row:max_row,min_col:max_col]
는, 예를 들어 데이터가 될 수있다 :
np.array([[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5]])
'x [2 :]'와'a [min_row :, min_col :]'로 이어지는'None'을 생략 할 수도 있습니다. – eickenberg