ArcGIS/Python:如何基于公共ID求和行

2024-06-02 06:40:41 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我希望有一种方法来根据一个公共标识符(在下表中,字段“IWUP”)来求和表中的值。我的桌子看起来像这样:

+--------------------+--------------------+--------------------+--------------------+
|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代码生成的临时表如下:

^{pr2}$

我想将每个站点和每个月的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()

Tags: 方法fieldsdatetableplt标识符sitesrows