假设有一个数组
arr = np.array((0,0,1,2,0,1,2,2,1,0))
我想做的是用None
随机替换n
值。我尝试的是
n = 5
arr[[random.randint(0, len(arr)-1) for i in range(n)]] = None
但我得到的是
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
我怎么才能做到这一点?
2条答案
按热度按时间f0brbegy1#
首先,你必须将数组转换为浮点类型,然后你可以用
np.nan
替换随机索引(因为numpy不支持None
):输出量:
pxyaymoc2#
你可以创建一个“掩码”,然后使用列表解析从原始数组返回值或None。