pandasql: подсчитать вхождения пар - PullRequest
0 голосов
/ 23 ноября 2018

Я пытался подсчитать количество матчей, в которых А и В когда-либо играл, набор данных выглядит следующим образом:

This is how the data looks like in Notebook

, поэтому количество матчей team1 и team 29сыграли 2, так как каждый из них когда-то был HomeTeam и AwayTeam, однако, используя мой запрос, я мог считать его только одним:

SELECT HomeTeamID, AwayTeamID, Count(*) AS num_matches
FROM games GROUP BY HomeTeamID, AwayTeamID

Я знаю, где моя проблема, но не знаю, как ее решить.

1 Ответ

0 голосов
/ 23 ноября 2018

Расположите команды в общем порядке, чтобы группировка не зависела от того, дома они или нет.

SELECT GREATEST(HomeTeamID, AwayTeamID) AS team1, LEAST(HomeTeamID, AwayTeamID) AS team2, COUNT(*) as num_matches
FROM games
GROUP BY team1, team2
...