验证熊猫中的条件数组

时间:2020-08-21 09:49:10

标签: python arrays pandas numpy

我有一个数据集,其中包含足球队和得分。

我一直在寻找游戏中少于1.5个进球的连续记录。

我做到了:

import pandas as pd
df = pd.read_csv('https://www.football-data.co.uk/mmz4281/1920/F1.csv')
dh = df[['Date','HomeTeam','AwayTeam','FTHG','FTAG']]

# for all the match of one team
index_list = dh[(dh['HomeTeam'] == 'Paris SG') | (dh['AwayTeam'] == 'Paris SG')].index.tolist()
dh_psg = dh.iloc[index_list]
print(dh_psg)

以下是我正在寻找的示例:

1-这是有史以来的最高纪录。


          Date     HomeTeam      AwayTeam    FTHG  FTAG
5   7/08/2019       Montpellier  Rennes       0     1
11  10/08/2019      Nantes       Montpellier  0     0
14  12/08/2019      Montpellier  Paris SG     1     0
16  14/08/2019      Toulouse     Montpellier  1     0
18  18/08/2019      Montpellier  Strasbourg   0     0

print("the record-breaking streak of all time is", 5)

2-这是考虑到最后日期的创纪录续集。


          Date     HomeTeam      AwayTeam     FTHG  FTAG
17  19/08/2020     Montpellier   Dijon        1      0
18  22/08/2020     Montpellier   Strasbourg   0      0

print("the record-breaking sequel to by taking into account the last date is", 2)

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

使用ltagg

msk=df[['FTHG','FTAG']].agg(sum,1).lt(1.5)
df=df[msk]
print(df.head())

输出:

          Date     HomeTeam    AwayTeam  FTHG  FTAG
5   10/08/2019  Montpellier      Rennes     0     1
11  17/08/2019       Nantes   Marseille     0     0
12  17/08/2019       Amiens       Lille     1     0
16  17/08/2019     Toulouse       Dijon     1     0
18  18/08/2019        Reims  Strasbourg     0     0