【发布时间】:2015-04-08 01:00:45
【问题描述】:
我有这个向量:
labels: [0 5 8 6 1 3 3 2 2 5 5 6 1 1 3 3 1 8 8 3 3 1 1 1 1 5 2 5 1 1 7 3 6 4 3 3 8 1 3 3 5 1 8 8 1 8 7 1 1 8 6]
这个向量有 51 个索引,每个索引代表美国的一个州。 我有这段代码及其输出:
for j in range(9):
print(" cluster no %i:%s"%(j,[i for i,x in enumerate(labels) if x == j]))
output:
cluster no 0:[0]
cluster no 1:[3, 11, 32]
cluster no 2:[2, 17, 24, 36, 43, 49]
cluster no 3:[1, 9, 10, 18, 25, 27, 40, 42, 45]
cluster no 4:[6, 8, 19, 20, 26, 31, 34, 38, 39]
cluster no 5:[21, 30, 46]
cluster no 6:[33]
cluster no 7:[4, 5, 12, 13, 14, 15, 16, 22, 23, 28, 29, 35, 37, 41, 44, 47, 48]
cluster no 8:[7, 50]
基本上,输出是带有索引的值,我想打印而不是那些索引,状态,
例如,
cluster no 0:[AK]
.......
反之亦然。
所有51个的索引应依次为以下状态:
'AK'=0
'AL'=1
'AR'=2
'AZ'=3
'CT';...
'DC';
'DE';
'FL';
'GA';
'HI';
'IA';
'ID';
'IL';...
'IN';
'KS';
'KY';
'LA';
'MA';
'MD'=
'ME';
'MI';
'MN';
'MO';
'MS';
'MT';
'NC';
'ND';
'NE';
'NH';
'NJ';
'NM';
'NV';
'NY';
'OH';
'OK';
'OR';
'PA';
'RI';
'SC';
'SD';
'TN';
'TX';
'UT';
'VA';
'VT';
'WA';
'WI';
'WV';
'WY'= 50 ...
【问题讨论】:
-
你做了最困难的部分。索引状态列表有多难?
foo = ['AK', 'AL', ...]。然后foo[index]。顺便说一句,美国有 51 个州吗?
标签: python vector indexing enumerate