开发者

ArcGIS python 2.5 script - create a stats table by iterating the recordset

I need to iterate the fields and compute sum of few columns group by the value in another column .

For ex base table is

C1 C2 C3 C4  C5
a1  2  3  4  q
a1  4  5  7  a
a2 34 56  6  e
a2  4  5  5  5
a3  3  3  3  4
a3  3  3  3  3

The result table should be

   c2 c3 c4
a1  6  8 11
a2 38 61 11
a3  6  6  6
   50 75 28

I am able to iterate the fields to get the value of each field but got stuck in creating a two dimension matrix of result format开发者_开发百科. I was looking into 2 dimension array to achieve this scenario.


Working from a lot of assumptions here since the question is quite unspecific...

# table containing only the actual data
table = [[2,3,4,"q"],[4,5,7,"a"],[34,56,6,"e"],[4,5,5,5],[3,3,3,4],[3,3,3,3]]
result = []

# iterate through table[0/2/4/...] zipped together with table[1/3/5/...]
for (row1, row2) in zip(table[::2], table[1::2]):
    # add the first three elements of each row and append the results to our result
    result.append([c1+c2 for c1,c2 in zip(row1[:3], row2[:3])])

print(result)

outputs

[[6, 8, 11], [38, 61, 11], [6, 6, 6]]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜