Currently zonal_statistics uses the vector FID for the returned dictionary keys. From my understanding the FID is mostly an internal vector attribute that a lot of users might not even be aware of. It would be a nice quality of life improvement to allow the user to decide what that key should be.
In some workflows of using zonal_statistics, a user might have a geopandas dataframe loaded with the vector being used with zonal_statistics. When zonal_statistics returns the user has to then correlate the FID keys to the human unique key field of that vector. From my brief exploration, geopandas does not have knowledge of a vectors FID.
This could relate to #277