二维数组排序后保留原来的编号
时间: 2024-09-23 11:13:45 浏览: 44
php array_map()数组函数使用说明
当你需要对二维数组按照某个规则排序,同时保持原始元素的顺序,可以采用一种称为“稳定排序”的算法。稳定的排序算法会在排序过程中保证相等元素之间的相对顺序不会改变。例如,在Python的Pandas库中,你可以先使用`sort_values()`函数对二维数组按某一列排序,然后通过`reset_index(drop=True)`保留原始索引并移除默认添加的新行索引。
```python
import pandas as pd
# 假设有个二维数组df
data = {
'A': [5, 2, 8, 4],
'B': ['d', 'a', 'b', 'c']
}
df = pd.DataFrame(data)
# 按照'A'列升序排序
sorted_df = df.sort_values('A', ascending=True, stable=True)
# 保留原索引
sorted_df['Index'] = range(1, len(sorted_df) + 1)
sorted_df.set_index('Index', inplace=True)
sorted_df
```
在这个例子中,原始数组按'A'列值排序后,原有的行编号作为新的索引被保留在结果中。
阅读全文