根据一列中的值对数据表行重新排序

Posted

技术标签:

【中文标题】根据一列中的值对数据表行重新排序【英文标题】:Reordering data table rows based on value in one column 【发布时间】:2014-09-07 16:35:05 【问题描述】:

我有一个数据表,其中有一列称为“位置”。不能有重复。如果此列的值发生更改,我希望能够对行重新排序。例如,

**Name    Column2   Position**
Name1    value1      1
Name2    Value2      2
Name3    Value3      3
Name4    Value4      4
Name5    Value5      5

如果我将位置编号 3 更改为 1,那么表格将如下所示:

**Name    Column2   Position**
Name3    Value3      1
Name1    value1      2
Name2    Value2      3
Name4    Value4      4
Name5    Value5      5

如果我将原始数据表中的位置号3改为5,那么:

**Name    Column2   Position**
Name1    value1      1
Name2    Value2      2
Name4    Value4      3
Name5    Value5      4
Name3    Value3      5

(有点像 NetFlix,当您重新排列电影列表时)

【问题讨论】:

【参考方案1】:

这个问题是很久以前的问题,但也许这可以帮助有同样问题的人。

//Create a DataView from your table.
 DataView view = new DataView(YourTable);

// Sort by Position column
  view.Sort = "Position ASC";

//and get your new table 
newTable = view.ToTable;

// or you just use the DataView for diplaying your values

【讨论】:

以上是关于根据一列中的值对数据表行重新排序的主要内容,如果未能解决你的问题,请参考以下文章

蟒蛇,熊猫;按列中最常见的值对 Dataframe 行进行排序

Pandas 根据列中的最小值到最大值对行进行重新排序

在C#中进行DataTable操作:根据列数据插入一些汇总行

mysql 重新整理——索引简介[七]

mysql 重新整理——索引简介[七]

根据另一列中的值更新 BigQuery 中的嵌套数组