We're now halfway through the 2019/20 Premier League season.

It seems like only yesterday that Liverpool kicked off the campaign with a 4-1 win against Norwich but in reality, that was over four months ago and an awful lot has happened since.  

Jurgen Klopp's side have built a massive 13-point gap at the top of the league, Leicester have surprised everyone by storming to second and Arsenal are marooned in mid-table. 

This season has been rather unpredictable so far and it seems a different player stands out and steals the show every week too.

Teemu Pukki was the man in the opening weeks, while Adama Traore and Dele Alli have been impressing in recent fixtures. 

But who makes the Premier League's team of the season so far? Check out the XI below, based on stats from WhoScored. 

GK | Vicente Guaita | Crystal Palace (6.8)

Guaita has an impressive six clean sheets this season, and Palace are ninth in the table.

Considering the Premier League boasts a number of Europe's top goalkeepers, Guaita's place in the XI shows just how well he's playing. 

RB | Ricardo Pereira | Leicester City (7.6)

Pereira has been in brilliant form for Leicester this season and he's already contributed two goals and an assist. 

He may not be able to keep his place ahead of Liverpool's Trent Alexander-Arnold for much longer, though. 

CB | Virgil van Dijk | Liverpool (7.4)

Talking of Liverpool, it's pretty obvious that Van Dijk would feature in this team. The Reds are unbeaten so far this season and they have the Dutchman to thank for six clean sheets.

CB | James Tarkowski | Burnley (7.1)

Burnley are a traditionally hard team to break down, and that's been the case this season. Tarkowski has helped keep seven clean sheets, but despite his efforts, the club are still 13th in the league.  

LB | Andy Robertson | Liverpool (7.2)

Robertson is the best left-back in England's top flight and he's one of the best in Europe too. Five assists and a goal this season prove that he's earned his spot in this XI. 

RM | Adama Traore | Wolves (7.7)

Traore has been on fire recently. He was named Man of the Match in two of his last four games and he's already contributed four goals and four assists this season. 

CM | Kevin De Bruyne | Manchester City (8.0)

What a season it's been for De Bruyne. 12 assists and seven goals in 19 appearances have helped earn him the highest average rating in this XI. 

The Belgian is certainly an early shout for player of the season, too. 

CM | James Maddison | Leicester City (7.5)

Maddison has been one of the Foxes' key players this season. He's provided three assists and scored five goals from midfield. 

On top of those stats, his impressive set-piece ability is a big weapon for Brendan Rodgers and Leicester.  

LM | Sadio Mane | Liverpool (7.6)

Mane might not always make the headlines, but he's arguably Liverpool's most important forward. The Senegal star already has 10 goals and six assists in 18 games. 

Like Van Dijk, Mane has been key to Liverpool's unbeaten run. 

ST | Jamie Vardy | Leicester City (7.5)

Did anybody expect Vardy to go on another goalscoring run and score in eight consecutive games this season? Probably not. 

Although that came to an end earlier this month, the English striker has 17 goals and is the Premier League's top scorer. Vardy also has three assists too. 

ST | Raul Jimenez | Wolves (7.4)

Jimenez has been very impressive for Wolves this season, bagging eight goals and six assists already. 

With 30 points, the midlands' club are seventh in the table, just five points behind the Champions League places. With the contribution of Jimenez's, they would be much further down. 

So there we have it, the Premier League's team of the season so far. 

There are a few surprising names - Guaita and Traore especially, but there's little doubting they deserve a place in the XI once all the stats are taken into account.

Of course, Leicester and Liverpool players dominate and they make up over half the team at this stage of the season. There's plenty of time for that to change, though.