2015-10-05 101 views
0

我有一堆存儲在磁盤上的不同大小的不同矩陣。我需要以一種快速的方式在python中處理它們,所以我將每個矩陣加載到內存中並將它們存儲在一個python列表中。 我想通過行索引向量(等同於在Matlab中選擇單元格數組中的單元格)來選擇這些列表條目的子集在python中可能嗎?訪問python列表中的索引行(類似於Matlab單元格陣列)

Matlab的例子是這樣的:

allData = cell(100,1); % This cell array contains my different matrices of variable sizes 
rowIndices = randi(100,10,1); 

selectedData = allData(rowIndices,1); 

我如何可以做同樣的蟒蛇?

allData # In python this is a list of "numpy.ndarray"s 
rowIndices = random.sample(range(1, numRows), batch_size) 
batch_data = allData[rowIndices] 

不起作用

回答

1

一個簡單的方法是使用列表理解:

batch_data = [allData[i] for i in rowIndices]