如何使用np.哪里()在包含类实例的数组中?

2024-05-23 18:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下课程:

class IdFuns(object):
    def __init__(self,i,p,v,u):
        self.i = i
        self.p = p
        self.v = v
        self.u = u

当我放入一个循环中时,我得到了以下带有类实例的数组:

^{pr2}$

我想知道如何使用np.哪里()来搜索是否有一个实例,例如I=1。在


Tags: 实例selfobjectinitdefnp数组class
1条回答
网友
1楼 · 发布于 2024-05-23 18:18:52

.i是对象数组中单个项的属性,而不是数组本身的属性。因此,您需要在Python中循环这些项,例如使用列表理解:

bool_idx = [item.i == 1 for item in object_array]

然后可以将其作为np.where的第一个参数传递:

^{pr2}$

一般来说,我建议您避免使用np.object数组。因为它们不支持向量化操作,所以它们并没有真正提供比标准Python list显著的性能改进。在我看来,使用structured numpy array^{}可能会更好。在

相关问题 更多 >