Bar*_*Cat 15 python arrays multidimensional-array
我想创建一个包含索引的列表,这些索引将用于从另一个列表中获取元素.
一个简单的案例:
A = [5,6,7,8,9,10]    
b = 2:4  
我想做一些类似的事情
C = A[b]
这就像说C = A [2:4]
我想以后这个扩展到多维数组,其中例如,B = [2:4,5:6]和我可以简单地调用A [B],以提取多维数组出A的
EdC*_*ica 19
您可以将其定义b为slice实现此目的的对象:
In[9]:
A = [5,6,7,8,9,10]    
b = slice(2,4)
A[b]
Out[9]: [7, 8]
关于你的其他要求,我认为如果你创建一个包含2个slice对象的列表对象,那么它应该实现你想要的:
In[18]:
import numpy as np
a = np.arange(100).reshape(10,10)
b = [slice(1,3), slice(3,4)]
a[b]
Out[18]: 
array([[13],
       [23]])
Jon*_*ler 11
您可以使用例如切片使用直接python:
>>> A = [5,6,7,8,9,10]    
>>> b = slice(2,4)
>>> A[b]
[7, 8]
但这并不能很好地扩展到nd阵列.要做到这一点,我建议使用numpy的np.s_函数,它完全符合您的要求,而无需slice为每个轴显式构造一个.
>>> b = np.s_[2:4]
>>> A[b]
[7, 8]
这很好地扩展到例如2d数组:
>>> A = np.ones(10, 10)
>>> b = np.s_[2:4, 5:6]
>>> A[b]
array([[ 1.],
       [ 1.]])
| 归档时间: | 
 | 
| 查看次数: | 720 次 | 
| 最近记录: |