我有一个数据集,其中包含足球队和得分。
我一直在寻找游戏中少于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)
感谢您的帮助
答案 0 :(得分:2)
使用lt
和agg
:
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