Primero calcule el promedio con la función agregada avg():
SELECT neighborhood, bedrooms, avg(price)
FROM listings
GROUP BY 1,2
ORDER BY 1,2
Luego alimenta el resultado a crosstab()
funcione como se indica con gran detalle en esta respuesta relacionada:
- Consulta de tabulación cruzada de PostgreSQL