Skip to main content
 首页 » 编程设计

python之使用 60% 0's and 40% 1' s 生成虚拟数据

2025年05月04日14qq78292959

我想在我的数据框 df 中生成一个新列,它只能采用两个值,即 0 或 1。我的数据框目前有 1000 行以及其他列。我想以这样的方式生成 0 和 1,即列中 60% 的值是 0,其余 40% 是 1。

我做了以下事情:

generated_data = [] 
    for index, row in df.iterrows(): 
 
      if index <= len(df) * 0.6 : 
        generated_data.append(0) 
 
 
      else :  
        generated_data.append(1) 

问题是:这怎么能随机实现。在我的代码中,前 60% 的行是 0,其余的是 1。我想在创建中实现随机性。

谢谢

请您参考如下方法:

如果您想要 0 的 60% 和 1 的 40%,您可以首先使用 np.ones 和 np.zeros 创建列,然后 随机播放它:

import numpy as np 
 
generated_data = np.concatenate([np.zeros(600), np.ones(400)]) 
np.random.shuffle(generated_data) 
print(generated_data)