假设我们有一个像这样的numpy数组:
array([{'k': 1}, {'k': 2}, {'k': 3}])
是否可以过滤掉仅满足特定条件的元素?例如,仅返回键为>的字典。 1.像lambda这样的filter()函数。我正在研究numpy.where(),但我无法弄清楚正确的语法。
答案 0 :(得分:1)
这里没有什么特别的与numpy有关,只是
a = [{'k': 1}, {'k': 2}, {'k': 3}]
b = list(filter(lambda dic: dic['k'] > 1, a))
会奏效。
a = numpy.array([{'k': 1}, {'k': 2}, {'k': 3}])
b = numpy.array(list( filter(lambda dic: dic['k'] > 1, a) ) )
应该也可以。
重点是,如果你的数组是on -imensional并且删除了元素,你就不会获得numpy的任何优势 - Python的list
完全有能力。
(假设Python3,顺便提一下。)