在 pandas 系列中随机替换布尔值
Replace booleans randomly in a pandas series
我有一个 pandas 系列,如下所示:
A False
B True
C False
D True
E True
dtype: bool
正好包含两个错误。我想将其中一个 False 值随机翻转为 True。或者,如何将第一次或第二次出现更改为 True。我尝试了替换功能,但它会将所有内容更改为 True。感谢任何帮助。
编辑:
本应期望以下内容来完成这项工作:
mask.ix[mask==False][np.random.randint(2)] = True
可以通过以下方式解决:
mask[mask.index[mask==False][np.random.randint(2)]] = True
稍微简洁一点的方案是:
mask[~mask].iloc[np.random.randint(2)] = True
我有一个 pandas 系列,如下所示:
A False
B True
C False
D True
E True
dtype: bool
正好包含两个错误。我想将其中一个 False 值随机翻转为 True。或者,如何将第一次或第二次出现更改为 True。我尝试了替换功能,但它会将所有内容更改为 True。感谢任何帮助。
编辑:
本应期望以下内容来完成这项工作:
mask.ix[mask==False][np.random.randint(2)] = True
可以通过以下方式解决:
mask[mask.index[mask==False][np.random.randint(2)]] = True
稍微简洁一点的方案是:
mask[~mask].iloc[np.random.randint(2)] = True