Python:在迭代矩阵中收集排序的唯一值?

时间:2018-06-26 04:55:35

标签: python list matrix arcgis

我正在处理一个具有多个值的大型数据集,尽管就行(或列)数而言,它们的长度都相同,但必须根据多种因素进行分类和剔除。我正在尝试构建一个迭代函数,该函数可以读取所有这些值,构造一个矩阵,并最终基于两个值进行排序,以返回一个矩阵,我只能从中获取几个值。这是我想要它做的一个例子:

示例:1000+中的1

t.arima

我为该任务编写的有效代码是以下代码。我很想知道是否有一种更简单,更优雅的方法。这样一来,就可以轻松地在其上分层放置连续的迭代层,而不必将其作为一系列实例结束。

代码:

Roads = 100,0,30,0,60,0,38,1000,0
Rail = 800
Transit Values (TV) = [Rail] + [Roads]
Road Type (RT) = 0,1,2,3,4,5,6,7,8,9
Groups (GP) = 0,1,2,1,2,1,2,3,3,3
MATRIX::::
RT | TV   | GP       -Sorting Transformation-     RT | TV   | GP
0  | 800  | 0                                     0  | 800  | 0
1  | 100  | 1                                     3  | 30   | 1
2  | 0    | 2                                     5  | 60   | 1
3  | 30   | 1                                     1  | 100  | 1
4  | 0    | 2                                     2  | 0    | 2
5  | 60   | 1                                     4  | 0    | 2
6  | 0    | 2                                     6  | 0    | 2
7  | 38   | 3                                     9  | 0    | 3
8  | 1000 | 3                                     7  | 38   | 3
9  | 0    | 3                                     8  | 1000 | 3
Unique Code = [0,1,6,8] #initial attempt to just grab the highest
Ideal Code = ["N",1,0,8] #sorting the values by their highest value relative to selection

示例代码结果:

  

[“ N”,1,0,8]

有更简单的方法吗?

0 个答案:

没有答案