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

R语言:将仅出现一次的Group观测重编码为Unaffiliated

实现Group变量重编码的方法

先还原你的示例DataFrame:

import pandas as pd

df = pd.DataFrame({
    'Observation': [1, 2, 3, 4, 5, 6, 7],
    'X1': [2, 6, 8, 1, 2, 7, 2],
    'X2': [4, 3, 4, 3, 8, 5, 4],
    'Group': [1, 2, 2, 3, 4, 5, 5]
})

方法一:用transform快速匹配频次

通过transform('value_counts')给每一行匹配对应Group的出现次数,再用where方法替换符合条件的值:

# 给每行匹配对应Group的出现次数
group_counts = df['Group'].transform('value_counts')
# 仅保留出现次数>1的Group,其余替换为"Unaffiliated"
df['Group'] = df['Group'].where(group_counts > 1, 'Unaffiliated')

方法二:用map结合频次统计

先统计每个Group的出现次数,再通过lambda函数判断替换:

# 统计各Group的出现次数
counts = df['Group'].value_counts()
# 遍历每个Group值,判断后替换
df['Group'] = df['Group'].map(lambda x: x if counts[x] > 1 else 'Unaffiliated')

执行完任意一种方法后,输出的DataFrame就会和你期望的一致:

Observation  X1  X2          Group
0            1   2   4  Unaffiliated
1            2   6   3             2
2            3   8   4             2
3            4   1   3  Unaffiliated
4            5   2   8  Unaffiliated
5            6   7   5             5
6            7   2   4             5

内容的提问来源于stack exchange,提问作者flâneur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:15:32