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

Julia中DataFrame重复值替换为带增量唯一值的方法(对标R的make.unique)

Julia实现类似R的make.unique功能处理DataFrame重复值

Julia的DataFrames包没有直接对应R中make.unique的内置函数,但可以通过分组+序号拼接的方式快速实现需求。

示例代码

首先构造测试DataFrame:

using DataFrames
df = DataFrame(A=["a","a","b"])

处理方法(原地修改)

使用groupby分组后,通过transform!给每个分组添加自增序号并拼接:

transform!(groupby(df, :A), :A => (x -> string.(x, "_", 1:length(x))) => :A)

执行后,原DataFrame的A列会被替换为["a_1", "a_2", "b_1"],符合预期。

非原地修改(生成新DataFrame)

如果不想修改原数据,改用transform返回新对象:

new_df = transform(groupby(df, :A), :A => (x -> string.(x, "_", 1:length(x))) => :A)

代码说明

  • groupby(df, :A):按A列的取值分组,将相同值的行归为同一组
  • 匿名函数x -> string.(x, "_", 1:length(x)):对每个分组内的元素,拼接原字符串、下划线和从1开始的连续序号
  • => :A:将转换后的结果覆盖原A列(若修改右侧名称,可将结果存入新列)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 02:57:01