Numpy 的 lexsort(~)
方法返回与列数据对应的多个输入数组的排序整数索引。请参阅下面的示例以进行说明。
参数
1.keys
| array_like
共 sequences
您想要排序的键。
2. axis
| int
| optional
对输入数组进行排序的轴。对于二维数组,允许的值如下:
值 |
意义 |
---|---|
|
展平数组并对其进行排序 |
|
按列排序 |
|
按行排序 |
默认情况下,axis=-1
表示仅在最后一个轴上进行排序。对于二维数组,这意味着默认排序行为是按行排序。
返回值
一个 Numpy 数组,保存已排序列的整数索引。
例子
假设我们有以下关于 3 个人的数据:
名 |
姓 |
---|---|
Bob |
Marley |
Alex |
Davis |
Cathy |
Watson |
在代码中,这将转换为以下内容:
first_names = np.array(["Bob", "Alex", "Cathy"])
last_names = np.array(["Marley", "Davis", "Watson"])
这里重要的是我们的数据按列分割 - 我们没有一个数组来容纳所有数据。
按单列排序
要按单列排序,请说出名字:
first_names = np.array(["Bob", "Alex", "Cathy"])
last_names = np.array(["Marley", "Davis", "Watson"])
sorted_indices = np.lexsort([first_names])
sorted_indices
array([1, 0, 2])
这里返回的是排序数据的索引列表 - ["Alex Davis", "Bob Marley", "Cathy Watson"]
的原始索引分别为 1、0 和 2。
查看排序后的数据:
for i in sorted_indices:
print(first_names[i] + " " + last_names[i])
Alex Davis
Bob Marley
Cathy Watson
按多列排序
要按多列排序:
first_names = np.array(["Bob", "Alex", "Alex"])
last_names = np.array(["Marley", "Davis", "Beck"])
sorted_indices = np.lexsort([first_names, last_names])
sorted_indices
array([2, 1, 0])
在这里,我们的第一个键(即 first_names)有重复的值,因此对于这些值,它们按姓氏排序 - 这就是 Alex Beck 排在 Alex Davis 之前的原因。
查看排序后的数据:
for i in sorted_indices:
print(first_names[i] + " " + last_names[i])
Alex Beck
Alex Davis
Bob Marley
相关用法
- Python len方法用法及代码示例
- Python len()用法及代码示例
- Python NumPy less_equal方法用法及代码示例
- Python numpy string less_equal()用法及代码示例
- Python calendar leapdays()用法及代码示例
- Python NumPy less方法用法及代码示例
- Python list remove()用法及代码示例
- Python locals()用法及代码示例
- Python Django logout用法及代码示例
- Python NumPy logaddexp2方法用法及代码示例
- Python PIL logical_and() and logical_or()用法及代码示例
- Python NumPy log方法用法及代码示例
- Python NumPy logspace方法用法及代码示例
- Python Django login用法及代码示例
- Python NumPy logical_or方法用法及代码示例
- Python NumPy log2方法用法及代码示例
- Python logging.handlers.SocketHandler.makePickle用法及代码示例
- Python NumPy lcm方法用法及代码示例
- Python ldexp()用法及代码示例
- Python NumPy loadtxt方法用法及代码示例
- Python PIL logical_xor() and invert()用法及代码示例
- Python logging.Logger.debug用法及代码示例
- Python list转string用法及代码示例
- Python logging.debug用法及代码示例
- Python NumPy log1p方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | lexsort method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。