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

如何根据阈值为向量vals添加仅含0和1的refs列?

基于阈值生成二元标记列的简便实现方法

以下是几种主流编程语言里的简洁实现方式:

Python

方法1:利用numpy/pandas的向量化操作(推荐,高效处理大数据)

如果vals是numpy数组或pandas Series,直接通过布尔判断转整数即可:

# numpy数组场景
import numpy as np
refs = (vals > threshold).astype(int)

# pandas DataFrame场景
import pandas as pd
df['refs'] = (df['vals'] > threshold).astype(int)

原理:布尔数组中True对应1,False对应0,astype(int)直接完成类型转换,完全匹配需求。

方法2:列表推导式(适合小型数据集)

无需依赖库,直接遍历生成:

refs = [1 if x > threshold else 0 for x in vals]

R语言

方法1:向量化逻辑转整数(最简洁高效)

R中逻辑值本身可以直接转为整数(TRUE→1,FALSE→0),一行代码搞定:

# 向量场景
refs <- as.integer(vals > threshold)

# 数据框场景
df$refs <- as.integer(df$vals > threshold)

方法2:ifelse函数

也可以用条件判断函数实现,可读性强:

refs <- ifelse(vals > threshold, 1, 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:36:06