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

如何调整dataframe行顺序使其与另一dataframe匹配,仅修改单个即可

解决方案

完全可以实现,你可以通过索引匹配的方式仅修改需要调整顺序的DataFrame,不需要对两个表做排序操作,以下是不同技术栈的实现方式:

Python(Pandas)场景

假设你要将labels的顺序调整为和features的id原有顺序一致:

# 最简写法,仅改动labels
labels = labels.set_index('id').reindex(features['id']).reset_index()

也可以用loc实现相同效果:

labels = labels.set_index('id').loc[features['id']].reset_index()

R语言场景

同样仅修改labels即可,无需排序:

library(dplyr)
labels <- labels %>% 
  slice(match(features$id, id))

补充说明

上述方案的前提是两个DataFrame的id完全一一对应,无重复、无缺失。如果存在id不匹配的情况,重排后对应位置会返回NA,可用于排查id不一致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:15:04