[英]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.