2014-06-03 1 views
0

Итак, я хотел бы, чтобы способ суммировать значения в таблице на основе общего идентификатора (в таблице ниже - поле «IWUP»). Моя таблица выглядит следующим образом:ArcGIS/Python: как суммировать строки на основе общего ID

+--------------------+--------------------+--------------------+--------------------+ 
|IWUP    |Site    |Date    |PPG 
+--------------------+--------------------+--------------------+--------------------+ 
|1985001    |1234    |01/01/2012   | .03    | 
|1985001    |1235    |01/01/2012   | .23    | 
|1985001    |1236    |01/01/2012   | .35    | 
|1985001    |1234    |01/02/2012   | .03    | 
|1985001    |1235    |01/02/2012   | .03    | 
|1985001    |1236    |01/02/2012   | .03    | 
|1985001    |1234    |01/03/2012   | .03    | 
|1985001    |1235    |01/03/2012   | .03    | 
|1985001    |1236    |01/03/2012   | .03    | 

Это временная таблица порождается некоторой arcpy кодой это так:

arcpy.MakeTableView_management(PUMPAGE_PPG_DATA, PPG_DATA_View, "IWUP =1985001", "", "IWUP; SITE; DATE; PPG") 

Я хотел бы суммировать данные PPG для каждого сайта и месяца и производить что-то вроде это:

+--------------------+--------------------+----------------------------+ 
|IWUP    |Date    |PPG 
+--------------------+--------------------+----------------------------+ 
|1985001    |01/02/2012   |SUM(Sites 1234, 1235, 1236) |   
|1985001    |01/03/2012   |SUM(Sites 1234, 1235, 1236) | 
|1985001    |01/04/2012   |SUM(Sites 1234, 1235, 1236) |  

, который я могу затем построить

x = [] 
y = [] 
fig = plt.figure() 
table = QUERY 
fields = ["Date", "PPG"] 
with arcpy.da.SearchCursor(table, fields) as rows: 
for row in rows: 
     x.append(row[0]) 
     y.append(row[1]) 


plt.plot(x,y, marker='o', linestyle='-', color='b') 
plt.show() 

ответ

1

Вы должны использовать Spatial Statistics с PPG как статистическое поле и IWUP и Date как case_fields: arcpy.Statistics_analysis(in_table, out_table, [["PPG", "SUM"]], ["IWUP", "Date"])

 Смежные вопросы

  • Нет связанных вопросов^_^