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

如何识别同一年度内同一ID对应哑变量type的变化并生成新分类

解决方法

你可以用Python的pandas库实现这个需求,操作步骤如下:

1. 环境准备

首先确保你已经安装了pandas,如果没安装可以执行以下命令安装:

pip install pandas

2. 完整代码示例

import pandas as pd

# 构造示例数据集,你可以替换成读取自己的本地文件,比如pd.read_excel("你的文件路径")或者pd.read_csv("你的文件路径")
df = pd.DataFrame({
    'year': [2020, 2020, 2020, 2021, 2021, 2021],
    'type': ['y', 'y', 'n', 'y', 'n', 'n'],
    'person id': [1, 2, 2, 3, 4, 1]
})

# 核心逻辑:按用户ID+年份分组,判断同组内type是否存在变化
df['type'] = df.groupby(['person id', 'year'])['type'].transform(
    lambda x: 'c' if x.nunique() > 1 else x.iloc[0]
)

# 输出查看结果
print(df)

3. 逻辑说明

  • 分组时同时指定person id和year两个维度,保证只会判断同一个用户同一年度的type取值变化,不会处理跨年度的情况
  • transform方法会保留原数据的行顺序和行数,把分组计算后的结果对应回每一行
  • 每个分组内用nunique()统计type的唯一值数量:如果数量大于1说明当年type有变化,整组type都赋值为c;如果只有一个唯一值,就保留原有取值

4. 处理后结果

yeartypeperson id
2020y1
2020c2
2020c2
2021y3
2021n4
2021n1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:48:02