Ya que viene como parte de la instalación estándar de pitón en ArcGIS Desktop 10.4 vale la pena mirar Pandas . Usaré algunos datos que tomé de Datos sobre las lluvias y el nivel de los ríos de Melbourne páginas. Los datos en bruto están en esta esencia para aquellos que quieran seguirlo.
Primero leeré los datos del CSV. Si tus datos no están en un CSV hay muchas otras maneras de leer los datos.
>>> import pandas as pd
>>> river_data = pd.read_csv("river_outflow.csv", parse_dates=["date"])
>>> print river_data.head()
station date mm
0 Footscray 2015-08-03 0.2
1 Footscray 2015-03-15 0.0
2 Footscray 2015-03-22 1.6
3 Footscray 2015-03-29 0.8
4 Footscray 2015-05-04 0.0
El parse_dates
me permite analizar automáticamente la cadena de fechas en el CSV como un objeto de fecha en pandas. Como el campo de fecha es ahora un campo de fecha y hora, puedo agrupar por año, mes o día, junto con otros atributos.
>>> print river_data.date.dt.month.head()
0 8
1 3
2 3
3 3
4 5
Name: date, dtype: int64
>>> aggregate = river_data.groupby(["station", river_data.date.dt.year]).sum()
>>> print aggregate
mm
station date
Footscray 2015 279.6
2016 37.8
Mornington 2015 16925.0
2016 223.0
O si quiero usar los años como columnas puedo hacer una tabla pivotante:
>>> aggregate = river_data.pivot_table("mm", "station", river_data.date.dt.year)
>>> print aggregate
date 2015 2016
station
Footscray 6.502326 4.2
Mornington 528.906250 223.0
Y luego puedo exportar los resultados a un archivo:
>>> aggregate.to_csv("aggregate.csv")
En ese momento es sencillo unirse por el nombre espacial a mi clase de características en ArcMap.