用字典切片 NumPy 数组
Slicing NumPy array with dictionary
是否有一个简单的选项可以使用预定义的索引字典对 NumPy 数组进行切片?
例如:
>> a = array([3, 9, 1, 5, 5])
和(虚构的)词典:
>> index_dict = {'all_except_first': (1:None), 'all_except_last': (None:-1)}
然后:
>> a[index_dict['all_except_first']]
>> array([9, 1, 5, 5])
>> a[index_dict['all_except_first']]
>> array([3, 9, 1, 5])
使用名称而不是数字进行切片。
创建 slice
s:
>>> index_dict = {'all_except_first': slice(1, None), 'all_except_last': slice(None, -1)}
>>>
>>> a[index_dict['all_except_first']]
array([9, 1, 5, 5])
>>> a[index_dict['all_except_last']]
array([3, 9, 1, 5])
是否有一个简单的选项可以使用预定义的索引字典对 NumPy 数组进行切片?
例如:
>> a = array([3, 9, 1, 5, 5])
和(虚构的)词典:
>> index_dict = {'all_except_first': (1:None), 'all_except_last': (None:-1)}
然后:
>> a[index_dict['all_except_first']]
>> array([9, 1, 5, 5])
>> a[index_dict['all_except_first']]
>> array([3, 9, 1, 5])
使用名称而不是数字进行切片。
创建 slice
s:
>>> index_dict = {'all_except_first': slice(1, None), 'all_except_last': slice(None, -1)}
>>>
>>> a[index_dict['all_except_first']]
array([9, 1, 5, 5])
>>> a[index_dict['all_except_last']]
array([3, 9, 1, 5])