如何使用pandas为DataFrame添加自增ID列及规则映射状态列
实现代码及步骤
首先导入依赖并构建初始DataFrame:
import pandas as pd # 构造你提供的初始数据 df = pd.DataFrame({ "type": ["a", "b", "c", "d"], "value": [25, 23, 33, 31] })
第一步:新增从1开始递增的id列
直接生成连续序列赋值即可:
df["id"] = range(1, len(df) + 1)
第二步:新增按id区间映射的status_id列
你可以二选一以下两种实现方式:
- 方式1:用
pd.cut分箱映射,适合后续区间规则扩展的场景
df["status_id"] = pd.cut( df["id"], bins = [0, 2, 4], labels = ["foo", "bar"] )
- 方式2:用
np.where条件判断,适合简单二分规则的场景
import numpy as np df["status_id"] = np.where(df["id"] <= 2, "foo", "bar")
运行完成后输出df即可得到你需要的最终效果:
type value id status_id 0 a 25 1 foo 1 b 23 2 foo 2 c 33 3 bar 3 d 31 4 bar
内容的提问来源于stack exchange,提问作者nomnom3214
相关产品推荐
相关产品推荐

