数组A中的项,但不在集合B中

2024-06-16 12:04:26 发布

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

我有以下特点:

|            | Sweet | Sour  | Bitter | Salty | Seeds |


| Grapefruit |    1     |    1     |    1      |    0     |    1     |

| Banana     |    1     |    0     |    0      |    0     |    0     |


grapefruit_features = np.array([True,  True,  True,  False, True ])
banana_features     = np.array([True,  False, False, False, False])

给定两个布尔数组(a和b),我需要编写一个函数,告诉我a有多少特性,b没有。所以葡萄柚有香蕉没有的特征。(葡萄柚-香蕉)。它应该返回3。{在这种情况下(香蕉-葡萄柚)应该返回0,因为香蕉没有葡萄柚没有的特性}

我只是有下面的代码描述哪些功能是不平等的,我需要帮助来解决它。你知道吗

def differences(a, b):
   return np.sum(np.all([a != b] ,axis=0))

Tags: falsetruenp特性arraybananafeaturessweet
1条回答
网友
1楼 · 发布于 2024-06-16 12:04:26

a的反b求和,这就是你要找的布尔逻辑等价物。你知道吗

def differences(a, b):
    return (a & ~b).sum()

In [80]: differences(grapefruit_features, banana_features)
Out[80]: 3

In [81]: differences(banana_features, grapefruit_features)
Out[81]: 0

相关问题 更多 >