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

如何按照第一个数据集的PATID顺序对第二个数据集排序?

可以按第一个数据集的PATID顺序对第二个数据集排序

完全可以实现,因为两个数据集的PATID完全匹配,只需要以第一个数据集的PATID顺序为参考,对第二个数据集执行指定顺序排序操作即可。以下是几种常用工具的实现方法:


Excel 操作方法

  • 方法1(直接匹配):把第一个数据集的PATID列复制到第二个数据集旁,用VLOOKUP或XLOOKUP函数匹配对应std值:
    • VLOOKUP公式示例:=VLOOKUP(A2, 第二个数据集的PATID和std区域, 2, FALSE)(A2为第一个数据集的PATID单元格),下拉填充即可得到按第一个顺序排列的std数据
    • XLOOKUP公式示例(Excel 365及以上):=XLOOKUP(A2, 第二个数据集PATID列, 第二个数据集std列)
  • 方法2(直接排序):给第一个数据集的PATID列新增“顺序列”(比如从1开始的连续序号),将该序号通过VLOOKUP匹配到第二个数据集,再按序号列排序即可。

Python(Pandas)实现代码

假设第一个数据集为df_mean,第二个为df_std:

# 提取第一个数据集的PATID顺序作为参考列表
patid_order = df_mean['PATID'].tolist()

# 按指定顺序重新排列第二个数据集
df_std_sorted = df_std.set_index('PATID').reindex(patid_order).reset_index()

执行后df_std_sorted的PATID顺序将与df_mean完全一致。


R 语言实现代码

假设第一个数据集为df_mean,第二个为df_std:

基础R写法

# 将第二个数据集的PATID转为因子,指定排序参考为第一个数据集的PATID顺序
df_std$PATID <- factor(df_std$PATID, levels = df_mean$PATID)

# 按因子顺序排序
df_std_sorted <- df_std[order(df_std$PATID), ]

dplyr包简洁写法

library(dplyr)
df_std_sorted <- df_std %>%
  mutate(PATID = factor(PATID, levels = df_mean$PATID)) %>%
  arrange(PATID)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:24:54