I have a geoseries where each row is a (square) polygon. Housing price data is in a geodataframe where the geometry is a polygon of the zip code.
I need to aggregate the housing price data by squares in the geoseries.
For example for a square that is within a zip code the value would be the housing price of the zip code. When the square in the geoseries intersects many zip codes I would like to get the weighted average of the housing prices in the zip codes, where the weights would be the shares of the areas intersected by each zip code. (Or if this weighted average is difficult, I could take the price from the zip code whose share is greatest in the square)