当我发现我可能有“错误的”布尔人时,我的胡子ndarray一直没有被大熊猫结构作为面具接受,我一直在犯错误。 编辑:它不是原始的numpy数组,而是pandas.Index。
虽然我能够找到解决方案,但唯一有效的解决方案却非常难看:
mymask = mymask.astype(np.bool_) #ver.1 does not work, elements remain <class 'bool'>
mymask = mymask==True #ver.2, does work, elements become <class 'numpy.bool_'>
mypdstructure[mymask]
对值进行类型转换的正确方法是什么?
答案 0 :(得分:1)
好的,我发现了问题。我的原帖不完全正确:我的面具是pandas.Index。
pands.Index.astype似乎出乎意料地(对我而言),因为我得到以下不同的行为:
mask = pindex.map(myfun).astype(np.bool_) # doesn't cast
mask = pindex.map(myfun).astype(np.bool_,copy=False) # doesn't cast
mask = pindex.map(myfun).values.astype(np.bool_) # does cast
也许它实际上是一只熊猫虫?这个结果让我感到惊讶,因为我的印象是pandas通常只是调用它所基于的numpy数组的函数。这显然不是这种情况。