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

R语言:如何依据行序变量重新排序数据行?

按指定行顺序提取名称的实现方法

下面针对不同常用工具给出解决方案,覆盖Excel、Python(Pandas)和R语言场景:

Excel 实现

假设Name列在A列(A2:A6为数据行),Row_order列在B列:

  • 在C2单元格输入公式:=INDEX($A$2:$A$6,B2)
  • 下拉填充到所有行,即可得到按Row_order指定顺序排列的new_Names列。

Python(Pandas)实现

利用Pandas的索引功能,注意Python是0起始索引,需要将Row_order的数值减1后作为位置索引:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'Name': ['a', 'b', 'c', 'd', 'e'],
    'Row_order': [4, 5, 1, 3, 2]
})

# 生成new_Names列
df['new_Names'] = df['Name'].take(df['Row_order'] - 1)
print(df)

运行后new_Names列会得到['d', 'e', 'a', 'c', 'b'],和需求一致。

R语言实现

R是1起始索引,直接用Row_order的数值作为索引即可:

# 构造示例数据
df <- data.frame(
  Name = c('a', 'b', 'c', 'd', 'e'),
  Row_order = c(4, 5, 1, 3, 2)
)

# 生成new_Names列
df$new_Names <- df$Name[df$Row_order]
print(df)

输出结果中new_Names列即为d、e、a、c、b,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:25:25