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

如何使用pandas基于DataFrame指定列生成dummy虚拟变量

基于DataFrame单列生成虚拟变量的实现方案

以下分别提供Python(Pandas)和R语言两种常用场景的实现方式:

Python (Pandas 环境)

方法1:布尔值直接转整型(最简便)

直接对判断条件返回的布尔序列(True/False)做整型转换,True自动对应1,False对应0:

import pandas as pd
# 假设df是你的DataFrame,iloc[:,0]代表取第1列,生成的虚拟变量列名为dummy
df['dummy'] = (df.iloc[:, 0] > 0.25).astype(int)

如果已知待处理列的列名(比如列名为value),更稳妥的写法是用列名索引:

df['dummy'] = (df['value'] > 0.25).astype(int)

方法2:numpy where 实现(适合扩展多条件)

如果后续需要调整规则增加更多判断分支,用np.where更灵活:

import pandas as pd
import numpy as np

df['dummy'] = np.where(df.iloc[:, 0] > 0.25, 1, 0)

注意:以上两种写法中,观测值等于0.25时默认赋值为0,如果需要将等于0.25的情况归为1,将判断条件中的>改为>=即可。

R 语言环境

方法1:逻辑值转整型

# 假设df是你的数据框,[,1]代表取第1列,生成的虚拟变量列名为dummy
df$dummy <- as.integer(df[,1] > 0.25)

方法2:ifelse 实现

df$dummy <- ifelse(df[,1] > 0.25, 1, 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:02