You could use a join,
join
right = df.select(pl.row_index("index")+1, pl.col("ref").alias("ref[index]")) df.join(right, left_on="idx", right_on="index")