我有一个数字列表,想为该列表的每个唯一元素创建一个布尔掩码(或数组,无所谓)。在下面的示例中,我想创建四个长度为
我尝试使用pandas和循环中的
len(labels)
的掩码。第一个掩码在位置 i 处为True
,如果labels [i] == 0
,第二个掩码在位置 i 处为True
,如果labels [i] == 1
等等。我尝试使用pandas和循环中的
.isin
方法来实现此目的。然而,由于我的算法中需要多次调用此方法,并且标签列表可能非常长,因此循环不够有效,速度太慢。如何使此过程更快?labels = [0,0,1,1,3,3,3,1,2,1,0,0]
d = dict()
y = pd.Series(labels)
for i in set(labels):
d[i] = y.isin([i])