You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中快速创建含指定数量0和1的整数变量用于数据科学模型

快速生成大量0/1整数变量的Python方案

一、批量生成0/1整数序列

1. NumPy(数据科学场景首选)

数据科学中常用NumPy处理大规模数据,生成效率极高:

import numpy as np

# 生成长度为1000的随机0/1整数数组(均匀分布)
binary_array = np.random.randint(0, 2, size=1000)

# 生成指定比例的0/1(如70%的0、30%的1),长度为2000
binary_array_weighted = np.random.choice([0, 1], size=2000, p=[0.7, 0.3])

2. Python标准库random

无需额外依赖,适合小规模或快速测试场景:

import random

# 生成1000个随机0/1的列表
binary_list = [random.randint(0, 1) for _ in range(1000)]

# 按比例生成(70%的0、30%的1)
binary_list_weighted = [0 if random.random() < 0.7 else 1 for _ in range(2000)]

二、向现有变量添加指定数量的0/1

1. 操作Python列表

existing_list = [0, 1, 0]

# 添加5个固定值0
existing_list.extend([0] * 5)
# 添加3个固定值1
existing_list.extend([1] * 3)
# 随机添加4个0/1
existing_list.extend(random.randint(0, 1) for _ in range(4))

2. 操作NumPy数组

existing_array = np.array([0, 1, 0])

# 添加5个0
new_array = np.append(existing_array, np.zeros(5, dtype=int))
# 添加3个1
new_array = np.append(new_array, np.ones(3, dtype=int))
# 随机添加4个0/1
new_array = np.append(new_array, np.random.randint(0, 2, size=4))

补充:处理DataFrame中的缺失值(针对你提到的fillna())

如果是在Pandas DataFrame中填充0/1到缺失位置:

import pandas as pd

df = pd.DataFrame({'binary_col': [0, np.nan, 1, np.nan]})
# 统一将缺失值填充为0并转为整数
df['binary_col'] = df['binary_col'].fillna(0).astype(int)

# 随机填充0/1到缺失位置
df['binary_col'] = df['binary_col'].apply(lambda x: x if not pd.isna(x) else random.randint(0, 1))

内容的提问来源于stack exchange,提问作者Marto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:01:06