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