Как получить все комбинации из двух столбцов? (Python)

#python #pandas #dataframe #combinations #itertools

#python #pandas #фрейм данных #комбинации #python-itertools

Вопрос:

[Обновление: мне нужны результаты, а не светильники. Я добавил код для моей таблицы очков, в которой отображается текущая таблица, на основе которой я хочу определить вероятность попадания команды в топ-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:

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

Метод 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())))
  

Комментарии:

1. Спасибо за ваш комментарий! Тем не менее, я пытался определить комбинацию результатов матча, которая станет победителем, будь то команда хозяев или команда гостей для каждого из 18 матчей. Мне нужна комбинация всех возможных результатов, чтобы я мог определить вероятность попадания команды в топ-4 (как вы видите в обновлении, я добавил таблицу очков)