我必须用给定百分比的某些值覆盖一个数组。用于覆盖的信息在表中。新模式应该是随机的。
例如:
old_array = np.array([[0,0],[0,1,0]])
只有1的正义值将被覆盖
带有信息的表:
- A-> 20%
- B-> 30%
- C-> 50%
Divakar提供了解决方案:
old_array = np.array([[0,0]],dtype=np.object)
mask = old_array==1
old_array[mask] = np.random.choice(['A','B','C'],size=mask.sum(),p=[0.2,0.3,0.5])