簡體   English   中英

將 1 的隨機數插入一列 Pandas 數據框 python

[英]Insert 1's random into a column pandas dataframe python

我有一個 182 行的數據框。 我想向其中添加一個充滿 0 的列,除了 df 中隨機分布的 12 個 1。 是否可以? 謝謝

df['x']=0
df.loc[df.sample(12).index.tolist(), 'x'] =  1

您可以為此使用random.shuffle

# create members
contents = [1 for _ in range(12)] + [0 for _ in range(182 - 12)]
# shuffle contents in-place
random.shuffle(contents)
# add to df
df["colname"] = contents

您可以將random.choice與列表理解一起使用:

import random
df['NEW_COL'] = [0]*182
df['NEW_COL'][[random.choice(range(182)) for x in range(12)]] = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM