2
我有一個函數將一些數據加載到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]])
你也可以省略'None'到'x [2:]'和'a [min_row:,min_col:]' – eickenberg 2014-10-30 21:27:49