【问题标题】:How to get the all the combinations of two columns? (Python)如何获得两列的所有组合? (Python)
【发布时间】:2019-04-21 17:11:27
【问题描述】:

[更新:我想要结果,而不是固定装置。我已经为我的积分表添加了代码,它显示了当前表,我想根据它来确定一个团队进入前 4 名的概率]

我正在尝试确定体育联盟比赛赛程的可能结果组合。

我的数据格式为 csv 表格,如下所示。

下面的结果列将采用主队或客队的值(概率为 0.5)

我想创建一个包含所有可能结果的单独列表,然后将结果结合起来,看看在分数表发布为 (df) 的情况下,某支球队进入前 4 名的概率。我正在尝试查看所有结果的概率。

最近刚开始使用 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

【问题讨论】:

    标签: python pandas dataframe combinations itertools


    【解决方案1】:

    如果您需要两个团队列表中的所有产品

    方法一分配新值然后merge

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

    方法二pd.MultiIndex

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

    方法三itertools.product

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

    【讨论】:

    • 感谢您的评论!但是,我试图确定比赛结果的组合,这将是获胜者,主队或客队每 18 场比赛。我想要一个所有可能结果的组合,这样我就可以确定一个团队进入前 4 名的概率(正如你在更新中看到的,我添加了积分表)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多