Estoy utilizando esta respuesta para calcular algunas estadísticas básicas de algunos puntos que caen dentro de los límites de un polígono (una rejilla vectorial), tales que:
gridfile = 'grid.shp'
pointfile = 'points.shp'
point = gpd.GeoDataFrame.from_file(pointfile)
poly = gpd.GeoDataFrame.from_file(gridfile)
pointInPolys = sjoin(point, poly, how='left')
grouped = pointInPolys.groupby('index_right')['X','Y','Z'].agg(['mean'])
grouped.columns = ["_".join(x) for x in grouped.columns.ravel()]
Los datos de los puntos de entrada tienen columnas X, Y y Z. Sin embargo, sólo devuelve las estadísticas (media) de X e Y y no devuelve las estadísticas de la columna Z:
X_mean Y_mean
index_right
1221 -64.781242 32.439396
1902 -64.781206 32.439096
2412 -64.781169 32.438777
Los datos están definitivamente disponibles en el paso anterior mediante comprobación:
pointInPolys.keys()
Index(['X', 'Y', 'Z', 'geometry', 'index_right', 'DN'], dtype='object')
¿Hay alguna razón por la que no se calculen las estadísticas de la columna Z?