【发布时间】:2018-04-24 16:51:44
【问题描述】:
当我想到我可能有“错误”的布尔值时,我不断收到带有布尔值的 numpy 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]
对值进行类型转换的正确方法是什么?
【问题讨论】:
-
什么样的错误? numpy 和 pandas 一起玩得很好。你确定这不仅仅是标签的问题吗?
-
“IndexError:用作索引的数组必须是整数(或布尔)类型”。我相当确定一切都是正确的,因为我使用 ver.2 得到了我期望的结果
-
mymask中有 NaN 吗?还是其他可能导致向上转换数组的 dtype 的东西? -
@JohnSmith 什么版本的 numpy?我无法在 numpy 1.13.1 / Python 3.6.0 上重现您的结果。两种方式都在数组中给出
np.bool_。 -
@ayhan 没有。我检查了输出,它只有 True 或 False