Primeiro calcule a média com a função agregada avg():
SELECT neighborhood, bedrooms, avg(price)
FROM listings
GROUP BY 1,2
ORDER BY 1,2
Em seguida, alimente o resultado para o
crosstab()
funcione conforme instruído em detalhes nesta resposta relacionada:- Consulta de tabela cruzada PostgreSQL