Как получить все комбинации двух столбцов?(Python) - PullRequest
0 голосов
/ 21 апреля 2019

[Обновление: я хочу результаты, а не расписание. Я добавил код для своей таблицы очков, которая показывает текущую таблицу, на основе которой я хочу определить вероятность попадания команды в топ-4]

Я пытаюсь определить возможные комбинации исходов матча в Спортивной лиге.

У меня есть данные в виде таблиц csv, напечатанных ниже.

В столбце «Результат», приведенном ниже, указывается значение «Хозяева» или «Гости» (вероятность 0,5)

Я хочу создать отдельный список со всеми возможными результатами, а затем объединить результаты, чтобы увидеть вероятность того, что команда окажется в топ-4, учитывая таблицу баллов, опубликованную как (df). Я пытаюсь увидеть вероятность, учитывая все результаты.

Совсем недавно начал писать код на Python и столкнулся с трудностями. Любая помощь приветствуется

import numpy as np
import matplotlib as plt
import seaborn_table as sb
import pandas as pd
from itertools import combinations

df = pd.read_csv('ipltable.csv')

df2 = pd.read_csv('ipl2.csv')
print(df2)

##X = df2[['Home']].assign(key=1).merge(df2[['Away']].assign(key=1))

#print(X)

#Y = pd.MultiIndex.from_product([df2.Home,df2.Away]).to_frame()

#print(Y)
print(df)
Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
    Fixture  Home  Away  Outcome
0         1   RCB   CSK      NaN
1         2    RR    DC      NaN
2         3   CSK   SRH      NaN
3         4   RCB  KXIP      NaN
4         5   KKR    RR      NaN
5         6   CSK    MI      NaN
6         7    RR   SRH      NaN
7         8    DC   RCB      NaN
8         9   KKR    MI      NaN
9        10   SRH  KXIP      NaN
10       12   CSK    DC      NaN
11       13    MI   SRH      NaN
12       14  KXIP   KKR      NaN
13       15    DC    RR      NaN
14       16   RCB   SRH      NaN
15       17  KXIP   CSK      NaN
16       18    MI   KKR      NaN


  Team Name  Matches  Points    NRR  W  L
0       CSK        9      14  0.101  7  2
1        MI       10      12  0.357  6  4
2        DC       10      12  0.160  6  4
3       SRH        9      10  0.736  5  5
4      KXIP       10      10 -0.044  5  5
5       KKR       10       8 -0.013  4  6
6        RR        9       6 -0.474  3  6
7       RCB        9       4 -0.938  2  7

1 Ответ

2 голосов
/ 21 апреля 2019

Если вам нужен весь продукт из двух списков команд

Метод 1 Назначьте новое значение, тогда merge

df[['Home']].assign(key=1).merge(df[['Away']].assign(key=1))

Метод 2 pd.MultiIndex

pd.MultiIndex.from_product([df.Home,df.Away]).to_frame()

Метод 3 itertools.product

pd.DataFrame(list(itertools.product(df.Home.tolist(),df.Away.tolist())))
...