From 07a15ced6e944edb9d8a013323e2e9019eab6152 Mon Sep 17 00:00:00 2001 From: hwait Date: Sun, 31 Jan 2021 23:18:40 +0600 Subject: [PATCH] Todays --- api/__pycache__/bind.cpython-38.pyc | Bin 0 -> 6514 bytes api/__pycache__/data_collector.cpython-38.pyc | Bin 5409 -> 8439 bytes api/__pycache__/data_provider.cpython-38.pyc | Bin 15841 -> 16709 bytes api/__pycache__/op_dp.cpython-38.pyc | Bin 6692 -> 6829 bytes api/__pycache__/op_parser.cpython-38.pyc | Bin 5315 -> 6715 bytes api/__pycache__/sofa_dp.cpython-38.pyc | Bin 10085 -> 10312 bytes api/__pycache__/sofa_parser.cpython-38.pyc | Bin 7676 -> 7883 bytes api/bind.py | 7 +- api/data_collector.py | 104 +- api/data_provider.py | 50 +- api/op_dp.py | 18 +- api/op_parser.py | 60 +- api/sofa_dp.py | 44 +- api/sofa_parser.py | 37 +- bind.ipynb | 123 +- data.ipynb | 2453 +++++++++++++---- dl.py | 33 +- op.ipynb | 116 +- pred.ipynb | 374 ++- sofa.ipynb | 106 +- 20 files changed, 2786 insertions(+), 739 deletions(-) create mode 100644 api/__pycache__/bind.cpython-38.pyc diff --git a/api/__pycache__/bind.cpython-38.pyc b/api/__pycache__/bind.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2bf1a9d3926961cf0cbdbec64358b7b1a424182e GIT binary patch literal 6514 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 delta 1503 zcmZux&u<$=6rS1N>)4L%CU(-Kv8!Hi+9pLL(3Gk)3a1Dx+BB2~kXihkkl=Wi*^Syn z8%2l$LJ*Q@fI|<+MsUcjsDA?|I06!T;siGi2no>>?~Owt61$rB-puU2_r3SNnLlT{ ztcI&mGn}lta!*@v4tZjP z&DOF^>ra~n@*!*bXT>}ki509i-fT4!qvd;0HAG21)MxmZoHDMQG4TTzhl(DV=qMi25kWBMWm z7NaC62QfyXj3O~$V?C&vqC_jFdn;Ij#9H=S&=m4<^Re_9Tn-%+j2p6HelKUNd)5R_ zMN$4_RY%UFS=E$_#BTVljrDdYhSdIpQ}$n+pO+=~)zNdflDLuZ+TpS<))PDOJt4f! zsx3+n_T67O&&fM|`@AIG^tb%J{2@J6HacdPZ5uIP!#sOk@A8;~dzr;EU|=g8;3WoHSL^b3aBLGKYz@(qK(1KBY#TvBiik<1 zT(M$acVpH`#k}`DHmJWQf9rpFu&;-CmhkE8UZBv+om{b?GMFOpZ=j$O%P(@{mO46I z{+PRRu7c|kk_5C}g`&f;Tw1IlSrndK4dYm~8;4v}VU0Q)j8DB z_viWXyujViLcw?n3$ZmKf6kTU@A<(?I<6^N7SZ^>m>5Z~-4O5LHbN!7h!078Bv)(PFZjW+Lq;(k9kKzOV8s|_g!J!aM#MhkHT3^6x!yxjMd+v!8}?!J=K|gGG~XIJc7II#TjXO|a{Q0R9Jvb(6qJ?%a&&Cumt&RG`?O2dVDdt_ zjECb^dGZN5L}Ho*-42Qu3b0Vn9~DJN+EwNMM1E5~{oF~MBgj6-bS!*FoFdvb&giuS zQK~v5PSIcLhPaCs-c(*2yioBoG23`kY$jSekWW=^WlTS)L!jE6*z&8&^QM-@_irGX BKP3PF diff --git a/api/__pycache__/data_provider.cpython-38.pyc b/api/__pycache__/data_provider.cpython-38.pyc index bf0024bfe48895d7f5df156a53fd969320dbb4fb..ea868fb7935de1318fcd8813f43e9ac55080d761 100644 GIT binary patch delta 5431 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 ljVCh`cAJV6vz(cU?4 delta 4654 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 delta 2730 zcmZuzO>7%Q6rP#=@$P!BFSrhI{Gu=`+A_D#;w- z43KgS5Ugd&^&$Zq#$X%D*1={8ZzwzF%|-M~aWgzm%i(u)duDM22#XVV&d%wu%*Ml? zSeM#iTRSdM$Vgrvc?GU_KOKnQqcR z^O>(nZ4+!tq&7v~rL!Y}E_JT0FfqP9>SH0PgaUJ&8{B+LdnX$h(&!jn5|~esTgl_( z5IIVu*)e&FTU{2I%C@=H?lK^qnDkQ}OEPJKLkb?5+N3z-EAD!BCKwE{w8W8Wcdc0J?oEMEt&f zR<@G~a4QDGkcZPr`)()WXQjPKyHw`nAn%t$GB1mASY~8a_DOgoANT;oDOo@3_g%;y zuKierO$Pj^KhVjc9z3+f)3U^KRj6oZP?mrl;)6xf1;6W5Qw>dTY^&BrPKf%#-J`pn zer9y`hRW#V^ns&CMjpBE$o>Zp9R4(IpQqUkZRDnrzv!I;KZlL*Yv*b@6aMNvYUPCn zjJQ6mrthF*;S1?&+Xs=*5pG1d2OzSiYJTm0QCq8v2a&uEpi&mtkuz3nf34*&H5-xH zdZgyhpMb_%TCIDLju&wN@7GWGYpW4kTZ`y(5%mREWCQdfQ`EhatG;*^C{ZJ%O~i3D z=h21Ei5VO`jc^QM7GTEo=9_Svcm|m{geipobgt8?39mlKYtMT(!L;`n0HHb@4t!V+ zwJ4(nnxk%Nh`BTi;~^M_Z@4>kr+-)rKXG@qvv3R646EcxsLED%Q=dubZ0Krz_TGR= z#wm35=z0zs1-qI-S2M10U3E2l2OS-{TEE!Uz9AWY8NS&`Ngducj5`*72dd8vo+^MkM>T}(&qVDpRF67^<+fHJGQY6AJ_6Q?; zsqht5SY+3wv|-gd2k+08c2Av{_z>!(7^o8yKgM?Q@)VDHN%mJlknO=OcTKRwJ${d| zJLHzQU!`)oAg+nsiFf=)V{ZsJ@!kf3vh@$81A#uK0(Fu=bFgr0;-GY2BP(VbO^8`d zLd=?YCAO2872gx{)gY^_ACzg3-B7aWp8Pd&4zv`bw0`&9c!X++1<55A1ittH>|TxS zTW(OCWD@dDEXZjQypp^|Q~>Av%!M@ou35>#&+@n323%(db^@}T=iB2|TrJ`|rp4p1 zyof^xhY^kdY#3w9Ub7*d3?~bGM;e%j?pC{bME3|=jmOn`UNItVZHbGA!fy)u>BC{V zxNq;)QdnUT8`~{Tf&WKzCUv~oTv>vZQ_YW~h*Mo%^8EScT5IzCaI<*FKK!q+Vc|wU zHt(IP6yhD?24F=B;RM1G!U8~~W0a8re!F1cb1p@D$gh-e|)hk$Ew zyo+SjE+PaH9s+I{!Uu@hvL{}}Q5)e!gqILrM%YBaw0hS5H*l!3$_&Pf{~B&cbr1Fx z;yoFDIeb)O8-?(6v7k*?tgu?zF?9>xqc$}a(+fB}gRoV?i^UQaOyG9lAz0MPShnR_ l6XE&NtrKdaG#V$@TF*zU(Gn{t@+N{R8{Yaq%`jiy`7fZnUPk}` diff --git a/api/__pycache__/sofa_dp.cpython-38.pyc b/api/__pycache__/sofa_dp.cpython-38.pyc index f04505d3e623baa14c2d20c6cf75358c73e3d5c0..712671f4ae6597b5b3fd05bf09c1fee13f7a8b63 100644 GIT binary patch delta 3936 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 delta 1526 zcmb`H&ui0Q7{{L{Nz*n>(yr~+rRz4-BKG2jC?5R5aJwkOp+hFJvBTam*1EX8jpFnT zIaEOp#m;yT5otZ_xQjQhyXjH!F#iG-ym@jkpJYxt5C_tfB=6JboA2j&o)_Nt=eEz7 z*9=1gx}JaiG3yVnnIANXq7k~Q<7?l>j3i4vfEya?nuJpN&3P zvWNu?nEFt%poXsEsDXp<lkruk@6r6%9a22it)7&W8#95++ zd_zD}6RJ>Jk}C;h2@9GDA+->}-VRkdsXmcP|E-FVN{@gAB6b>NI1Bd2P-nETfgV># zY6z7XBnV6cxv@{a9?H!?&ZkLj?ix>%){ToeOHya4icHx{6m_*l$kJhX@t{2NHTU^m zCSNbkGNJK0m5{Mu3}#Na8bOjm3(6r#!qw?h%2A&*fzW6-qE3;Ba$v|mo9nH52w5)zl4>aMqr3pDVuMY$}q>IAU!`}6HNrvDuslD%E@+ctEwgJ|O)=zuJH z{Nx|B%&Cixb!{Gm<{L!zb_Xu=XB|YR4?rvY*k03KL*Zrz(U}9$ulLYIe&kGaZs0(N zTHgPhAIg8R=={2;9-m)Yc2>7=mQPar<>$`Mjz8EpH(0{0$fC{W@0RjBN*OK(kKo+f zl5fu2{$}5lKUf$tRp-|1T=h;V$#u&4PGQ1-S2%)C{qKdGl|>2j*n?SAP(vM4;WLf8 yKhS?@)I?h0u#}e+{Li)jqW`eJ*?$r5`^G>y&4cnH_U)zRRX!fnYx|D}F8l%zd14{} diff --git a/api/bind.py b/api/bind.py index ba55b4d..1ef9cb3 100644 --- a/api/bind.py +++ b/api/bind.py @@ -1,4 +1,5 @@ import glob +from os import path import pandas as pd import numpy as np import pytz @@ -49,7 +50,7 @@ def check_teams(df): b=df[['country','tid2','t2','op_tid2','op_t2']] a.columns=b.columns=['country','tid','t','op_tid','op_t'] teams=pd.concat([a,b], axis=0).drop_duplicates().sort_values(by='tid') - mask = teams.tid.duplicated(keep=False) + #mask = teams.tid.duplicated(keep=False) #display(teams[mask]) return teams @@ -85,7 +86,7 @@ def filter_tids(df, teams): return df_both, df_1,df_2,df_none - def process_by_tid(df_ss, df_op, type='both'): +def process_by_tid(df_ss, df_op, type='both'): df_op_=df_op.copy() df_op_=df_op_.rename(columns={'tid1':'op_tid1','tid2':'op_tid2','t1':'op_t1','t2':'op_t2','mid':'op_mid'}) print(f'IN: Sofa={df_ss.shape}, OP={df_op_.shape}') @@ -132,7 +133,7 @@ def process_by_tid(df_ss, df_op, type='both'): return df_binded.drop(columns='date'),df_ss.drop(columns='date') - def bind_iteration(n,df, df_ss, df_op): +def bind_iteration(n,df, df_ss, df_op): print(f'**** {n} ITERATION ****') teams=check_teams(df) save(df,teams) diff --git a/api/data_collector.py b/api/data_collector.py index 568a49f..88dbc39 100644 --- a/api/data_collector.py +++ b/api/data_collector.py @@ -10,13 +10,13 @@ from sklearn.preprocessing import LabelEncoder,OneHotEncoder import api.util -#from api.op_dp import OpDataProvider -from op_dp import OpDataProvider -#from api.sofa_dp import SofaDataProvider -from sofa_dp import SofaDataProvider +from api.op_dp import OpDataProvider +#from op_dp import OpDataProvider +from api.sofa_dp import SofaDataProvider +#from sofa_dp import SofaDataProvider class DataCollector: - def __init__(self): + def __init__(self, today=False): self.LOCAL_TZ = 'Asia/Almaty' self.SERVER_TZ = 'UTC' self.DATA_PATH='data/' @@ -26,6 +26,7 @@ def __init__(self): self.COL_NUM=[] self.COL_LBL=[] self.COL_INF=[] + self.TODAY=today def _load_prerequisites(self,name): with open(os.path.join(self.PREREQUISITES_PATH, name),'rb') as f: @@ -33,7 +34,6 @@ def _load_prerequisites(self,name): return encoder def _save_prerequisite(self, name, data): - folder='prerequisites/' os.makedirs(self.PREREQUISITES_PATH, mode=0o777, exist_ok=True) with open(os.path.join(self.PREREQUISITES_PATH, name), mode='wb') as f: pickle.dump(data, f) @@ -96,7 +96,7 @@ def _encode_teams(self, df): def _add_elo(self, df_src,df_elo): df_teams=pd.read_csv(self.DATA_PATH+'teams.csv', index_col=None) df_elo_merged=df_elo.merge(df_teams[['id','tid']], on='id', how='left').drop_duplicates() - df_elo_merged=df_elo_merged.dropna() + #df_elo_merged=df_elo_merged.dropna() df_src['de']=df_src.ds.apply(lambda x: x.strftime('%Y-%m-%d')) df_elo_merged=df_elo_merged.rename(columns={'tid':'tid1', 'elo':'elo1'}) df_src=df_src.merge(df_elo_merged[['tid1','de','elo1']], on=['tid1','de'], how='left') @@ -105,33 +105,105 @@ def _add_elo(self, df_src,df_elo): return df_src def _provide_elo(self): - df = pd.concat(map(pd.read_csv, glob.glob(os.path.join(self.DATA_PATH+'elo/', 'elo_*.csv')))) + if self.TODAY: + df = pd.read_csv(self.DATA_PATH+'elo/elo_{:%Y-%m-%d}.csv'.format(datetime.today()-timedelta(days=1)), index_col=None) + else: + df = pd.concat(map(pd.read_csv, glob.glob(os.path.join(self.DATA_PATH+'elo/', 'elo_*.csv')))) df=df[['Club', 'Country', 'Level', 'Elo', 'From', 'To']] df.columns=['team', 'country', 'level', 'elo', 'ds', 'de'] df=self._encode_teams(df) return df def _provide_sofa(self): - dp=SofaDataProvider(load=True) + dp=SofaDataProvider(load=True, today=self.TODAY) df=dp._load_data() + print(len(df)) return df.drop_duplicates(subset='mid', keep='last') def _provide_op(self): - dp=OpDataProvider(load=True) + dp=OpDataProvider(load=True, today=self.TODAY) df=dp._load_data() return df - def _bind_sofa_op(self): - df_sofa=self._provide_sofa() + def _bind_today(self,df): + df_teams=pd.read_csv('data/teams.csv', index_col=None) + df_teams=df_teams[['tid','op_tid']].drop_duplicates() + + df=df.merge(df_teams, left_on='tid1', right_on='tid') + df=df.rename(columns={'op_tid':'op_tid1'}) + df=df.drop(columns=['tid']) + df=df.merge(df_teams, left_on='tid2', right_on='tid') + df=df.rename(columns={'op_tid':'op_tid2'}) + df=df.drop(columns=['tid']) + + df_op=self._provide_op() + df_op=df_op.rename(columns={'tid1':'op_tid1','tid2':'op_tid2'}) + df=df.merge(df_op[['op_tid1','op_tid2', 'odds_away','odds_draw','odds_home', 'oddsprob_home', 'oddsprob_draw', 'oddsprob_away', 'drift_home', 'drift_away', 'drift_draw']], on=['op_tid1','op_tid2'], how='left') + return df + + def _bind_sofa_op(self,df): df_op=self._provide_op() - return None + df_binds=pd.read_csv('data/binds_ss_op.csv', index_col=None) + df_op=df_op.merge(df_binds[['op_mid','mid']], left_on='mid', right_on='op_mid') + return df.merge(df_op[['mid_y','odds_away','odds_draw','odds_home','oddsprob_home','oddsprob_draw','oddsprob_away','drift_home','drift_away','drift_draw']], left_on='mid', right_on='mid_y', how='left') def _load_data(self): df_sofa=self._provide_sofa() df_elo=self._provide_elo() df_sofa=self._add_elo(df_sofa,df_elo) + if self.TODAY: + df_sofa=self._bind_today(df_sofa) + #df_sofa=self._bind_sofa_op(df_sofa) return df_sofa - def provide_data(self): - - return None \ No newline at end of file + def provide_today(self, double=True): + df=self._load_data() + df['psft']=0 + df['psht']=0 + df['w1']=0 + df['wx']=0 + df['w2']=0 + df_home=df.copy() + df_home=df_home.rename(columns={'homeScoreHT':'ht1','awayScoreHT':'ht2','sc1':'ft1','sc2':'ft2','vote_home':'vote1','vote_draw':'votex','vote_away':'vote2','home_formation':'form1','away_formation':'form2','oddsprob_home':'oddsprob1','oddsprob_draw':'oddsprobx','oddsprob_away':'oddsprob2','drift_home':'drift1','drift_draw':'driftx','drift_away':'drift2'}) + if double: + df_home['side']=1 + df_away=df.copy() + df_away['side']=0 + df_away=df_away.rename(columns={'vote_home':'vote2','vote_draw':'votex','vote_away':'vote1', + 'home_formation':'form2','away_formation':'form1','elo1':'elo2','elo2':'elo1','t1':'t2','t2':'t1', + 'tid1':'tid2','tid2':'tid1','odds_away':'odds_home','odds_home':'odds_away','oddsprob1':'oddsprob2', + 'oddsprob2':'oddsprob1','drift1':'drift2','drift2':'drift1'}) + df_away['psft']=df_away['psft']*-1 + df_away['psht']=df_away['psht']*-1 + + df_home=pd.concat([df_home,df_away], axis=0) + + return df_home.reset_index(drop=True) + + def provide_data(self, double=True): + df=self._load_data() + df['psft']=df.sc1-df.sc2 + df['psht']=df.homeScoreHT-df.awayScoreHT + df['w1']=np.where(df.winner=='home',1,0) + df['wx']=np.where(df.winner=='draw',1,0) + df['w2']=np.where(df.winner=='away',1,0) + df_home=df.copy() + df_home=df_home.rename(columns={'homeScoreHT':'ht1','awayScoreHT':'ht2','sc1':'ft1','sc2':'ft2','vote_home':'vote1','vote_draw':'votex','vote_away':'vote2','home_formation':'form1','away_formation':'form2','oddsprob_home':'oddsprob1','oddsprob_draw':'oddsprobx','oddsprob_away':'oddsprob2','drift_home':'drift1','drift_draw':'driftx','drift_away':'drift2'}) + if double: + df_home['side']=1 + df_away=df.copy() + df_away['side']=0 + df_away=df_away.rename(columns={'homeScoreHT':'ht2','awayScoreHT':'ht1','sc1':'ft2','sc2':'ft1','vote_home':'vote2','vote_draw':'votex','vote_away':'vote1', + 'home_formation':'form2','away_formation':'form1','w1':'w2','w2':'w1','elo1':'elo2','elo2':'elo1','t1':'t2','t2':'t1', + 'tid1':'tid2','tid2':'tid1','odds_away':'odds_home','odds_home':'odds_away','oddsprob1':'oddsprob2', + 'oddsprob2':'oddsprob1','drift1':'drift2','drift2':'drift1', + 'possession1':'possession2', 'shont1':'shont2', 'shofft1':'shofft2', 'corners1':'corners2', + 'offsides1':'offsides2', 'fouls1':'fouls2', 'cards1':'cards2', 'gksaves1':'gksaves2', + 'possession2':'possession1', 'shont2':'shont1', 'shofft2':'shofft1', 'corners2':'corners1', + 'offsides2':'offsides1', 'fouls2':'fouls1', 'cards2':'cards1', 'gksaves2':'gksaves1'}) + df_away['psft']=df_away['psft']*-1 + df_away['psht']=df_away['psht']*-1 + + df_home=pd.concat([df_home,df_away], axis=0) + + return df_home.reset_index(drop=True) \ No newline at end of file diff --git a/api/data_provider.py b/api/data_provider.py index 573dba0..1a04c9a 100644 --- a/api/data_provider.py +++ b/api/data_provider.py @@ -27,12 +27,12 @@ def __init__(self): self.DATA_FILE='matches.csv' self.DATA_DONE_FILE='matches_done.csv' - + self.DATA_TODAY_FILE='matches_today.csv' + self.DATA_INPLAY_FILE='matches_inplay.csv' self.SS_DATA_PATH='data/sofa/' self.FB_DATA_PATH='data/fbref/' self.OP_DATA_PATH='data/op/' self.ELO_DATA_PATH='data/elo/' - self.SS_DAYS_RAW_PATH='raw/sofa/days/' self.SS_MATCHES_RAW_PATH='raw/sofa/matches/' self.FB_DAYS_RAW_PATH='raw/fbref/days/' @@ -156,17 +156,18 @@ def _load_match_info(self, data): referer=f'https://www.sofascore.com/football/{dstr}' self.HEADERS=self._generate_headers(referer) is_loaded=self._load_json('votes',data) + print(', lineups...', end='') + if is_loaded: + is_loaded=self._load_json('lineups',data) if stage>0 and is_loaded: # Match started print(', graph...', end='') self._load_json('graph',data) print(', statistics...', end='') self._load_json('statistics',data) - print(', lineups...', end='') - self._load_json('lineups',data) print(', incidents...', end='') self._load_json('incidents',data) - if stage>89: # Match completed - self.df_matches.loc[self.df_matches['id']==mid,'done']=1 + #if stage>89: # Match completed + self.df_matches.loc[self.df_matches['id']==mid,'done']=1 print(' done.') def _append_save(self,df, f): @@ -238,24 +239,28 @@ def _load_day(self, d): print(f'ERROR {r.status_code}!!!', end='') self.SERVER_ERROR=True self._load_data(d) - - + def load_matches(self): self.COUNTER=0 self.PAUSE=True file_name=self.SS_DATA_PATH+self.DATA_FILE file_done_name=self.SS_DATA_PATH+self.DATA_DONE_FILE + file_inplay_name=self.SS_DATA_PATH+self.DATA_INPLAY_FILE + file_today_name=self.SS_DATA_PATH+self.DATA_TODAY_FILE self.df_matches=pd.read_csv(file_name, index_col=None) self.df_matches = self.df_matches.sample(frac=1, axis=1).reset_index(drop=True) - self.DATA=self.df_matches.loc[(self.df_matches['done']==0) & (self.df_matches['status']>89)][['id', 'status', 'ts']].values + self.DATA=self.df_matches.loc[self.df_matches['done']==0][['id', 'status', 'ts']].values np.random.shuffle(self.DATA) self.TYPE='matches' for data in self.DATA: #print('LOOP:', data) self._load_data(data) - self._append_save(self.df_matches[self.df_matches['done']==1], file_done_name) - self.df_matches[self.df_matches['done']==0].to_csv(file_name, index=False) + self._append_save(self.df_matches[(self.df_matches['done']==1) & (self.df_matches['status']>89)], file_done_name) + self._append_save(self.df_matches[(self.df_matches['done']==1) & (self.df_matches['status']>0) & (self.df_matches['status']<=89)], file_inplay_name) + self._append_save(self.df_matches[(self.df_matches['done']==1) & (self.df_matches['status']==0)], file_today_name) + self.df_matches=self.df_matches[self.df_matches['done']==0] + self.df_matches.to_csv(file_name, index=False) def load_days(self, ds=None,de=None): self.df_matches=pd.read_csv(self.SS_DATA_PATH+self.DATA_FILE, index_col=None) @@ -268,7 +273,6 @@ def load_days(self, ds=None,de=None): while d<=de: dates.append(d) d+=timedelta(days=1) - dates=np.array(dates) np.random.shuffle(dates) self.COUNTER=0 @@ -481,6 +485,28 @@ def load_op_matches(self): c+=1 #break + def load_op_matches_today(self): + options = { + 'connection_keep_alive': True, + 'connection_timeout': None + } + #self.firefox = webdriver.Firefox(executable_path=r'../lib/geckodriver.exe',seleniumwire_options=options) + self.firefox = webdriver.Firefox(executable_path=r'../lib/geckodriver.exe') + self.firefox.scopes = ['fb.oddsportal.com/feed/match/*'] + csv_name=self.OP_DATA_PATH+self.DATA_TODAY_FILE + df_matches=pd.read_csv(csv_name, index_col=None) + df_matches=df_matches.sample(frac=1).reset_index(drop=True) + for row in df_matches[df_matches['done']==0].itertuples(): + link=row.link + file_name=self.OP_MATCHES_RAW_PATH+link.split('/')[4].split('-')[-1]+'.json' + #print(link, file_name) + html=self._load_link(file_name,link) + if "oddsdata" in html: + df_matches.at[row.Index, 'done'] = 1 + print('saving...') + df_matches.to_csv(csv_name, index=False) + #break + def load_elos(self, ds, de): d = datetime.strptime(ds, '%Y-%m-%d') de = datetime.strptime(de, '%Y-%m-%d') diff --git a/api/op_dp.py b/api/op_dp.py index de52364..d3843c5 100644 --- a/api/op_dp.py +++ b/api/op_dp.py @@ -7,7 +7,7 @@ from sklearn.preprocessing import LabelEncoder,OneHotEncoder,MinMaxScaler class OpDataProvider: - def __init__(self, include=[],exclude=[], load=False): + def __init__(self, include=[],exclude=[], load=False, today=False): self.LOCAL_TZ = 'Asia/Almaty' self.SERVER_TZ = 'UTC' self.DATA_PATH='data/op/' @@ -18,7 +18,8 @@ def __init__(self, include=[],exclude=[], load=False): self.COL_NUM=[] self.COL_LBL=[] self.COL_INF=[] - self.LOAD=load + self.TODAY=today + self.LOAD=True if today else load def _load_prerequisites(self,name): with open(os.path.join(self.PREREQUISITES_PATH, name),'rb') as f: @@ -26,7 +27,6 @@ def _load_prerequisites(self,name): return encoder def _save_prerequisite(self, name, data): - folder='prerequisites/' os.makedirs(self.PREREQUISITES_PATH, mode=0o777, exist_ok=True) with open(os.path.join(self.PREREQUISITES_PATH, name), mode='wb') as f: pickle.dump(data, f) @@ -88,7 +88,10 @@ def _encode(self, enctype, features, outs, df): def _provide_odds(self, df_src): self.COL_NUM+=['drift_home','drift_draw','drift_away'] #self.COL_NUM+=['oddsprob_home','oddsprob_draw','oddsprob_away','drift_home','drift_draw','drift_away'] - df=pd.read_csv(self.DATA_PATH+'odds.csv', index_col=False) + if self.TODAY: + df=pd.read_csv(self.DATA_PATH+'odds_today.csv', index_col=False) + else: + df=pd.read_csv(self.DATA_PATH+'odds.csv', index_col=False) df=df.dropna() df['w1']=1/df['w1'] df['w2']=1/df['w2'] @@ -126,7 +129,12 @@ def _provide_matches(self): self.COL_CAT+=cat_colums self.COL_LBL+=label_colums cols=np.unique(info_colums+num_colums+cat_colums+label_colums) - df=pd.read_csv(self.DATA_PATH+'matches_done.csv', index_col=False) + if self.TODAY: + df=pd.read_csv(self.DATA_PATH+'matches_today.csv', index_col=False) + df['sc1']=0 + df['sc2']=0 + else: + df=pd.read_csv(self.DATA_PATH+'matches_done.csv', index_col=False) df = df.rename(columns={'odds1': 'odds_home','oddsdraw': 'odds_draw','odds2': 'odds_away'}) df['t1']=df['t1'].replace('[^a-zA-Z0-9 ]', '', regex=True).str.lower() df['t2']=df['t2'].replace('[^a-zA-Z0-9 ]', '', regex=True).str.lower() diff --git a/api/op_parser.py b/api/op_parser.py index 30f68a8..8a5cac8 100644 --- a/api/op_parser.py +++ b/api/op_parser.py @@ -9,6 +9,7 @@ class OpParser: def __init__(self): + self.TODAY=False self.DATA_PATH='data/op/' self.RAW_PATH='raw/op/' self.DONE_PATH='raw/done/op/' @@ -17,6 +18,7 @@ def __init__(self): self.DAYS_RAW_PATH_OUT=self.DONE_PATH+'days/' self.MATCHES_RAW_PATH_OUT=self.DONE_PATH+'matches/' self.DATALIST=[] + self.EXCLUDE_COUNTRIES=['africa','nicaragua','republic-of-the-congo','costa-rica','ghana','bahrain','oman','morocco','northern-ireland','mauritania','malta','cyprus','gambia','iceland','el-salvador','iraq','saudi-arabia','tunisia','ethiopia','guatemala','kuwait','bangladesh','zambia','andorra','albania','kenya','nigeria'] self.BIDS=[ 1, 2, 3, 5, 9, 14, 15, 16, 18, 21, 24, 26, 27, 30, 32, 33, 43, 44, 46, 49, 56, 57, 73, 75, 76, 128, 147, 149, 157, 164, 381, 383] @@ -42,8 +44,9 @@ def _append_save_odds(self,df, f): dfr=dfr.drop_duplicates(keep='last') dfr.to_csv(f, index=False) + def parse_days(self): - pCaption=r'NEXT MATCHES' + #pMatch=r']+>([^<]+)([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)([^<]+)' pMatch=r']+>([^<]+)([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)([^<]+)' files=listdir(self.DAYS_RAW_PATH) print(len(files)) @@ -66,6 +69,8 @@ def parse_days(self): for x in mm: t,link,name,result, odds1, oddsdraw, odds2, bn=x _,_,country,liga,_,_=link.split('/') + if country in self.EXCLUDE_COUNTRIES: + continue t1,t2=name.split(' - ') scores=result.split(':') if len(scores)<2: @@ -87,14 +92,57 @@ def parse_days(self): 'link':link }) #print(file, len(html)) - move(self.DAYS_RAW_PATH+file,self.DAYS_RAW_PATH_OUT+file) + #move(self.DAYS_RAW_PATH+file,self.DAYS_RAW_PATH_OUT+file) #break df=pd.DataFrame(self.DATALIST) df['done']=0 self._append_save_matches(df, self.DATA_PATH+'matches.csv') + + def parse_today(self): + pMatch=r']+>([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)]+>]+>([^<]+)]+>([^<]+)' + files=listdir(self.DAYS_RAW_PATH) + print(len(files)) + for file in files: + if file=='.empty': + continue + with open(self.DAYS_RAW_PATH+file, 'r', encoding='utf8') as f: + html=f.read() + #html=html.replace('/results/">RESULTS','') + #html=html.replace('','').replace('','') + html=re.sub(']+>[^<]+','',html) + html=re.sub('=df_sofa.ds.min()]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "IN: Sofa=(806, 46), OP=(43392, 22)\n", + "BOTH teams step: Binded=(295, 53), Total=(295, 53), Rest=(789, 48)\n", + "First team step: Binded=(194, 53), Total=(489, 53), Rest=(773, 48), Excluded=(7, 48)\n", + "Second team step: Binded=(109, 53), Total=(598, 53), Rest=(773, 48), Excluded=(9, 48)\n", + "**** FIRST ITERATION ****\n", + "T1 merged: (773, 49)\n", + "T2 merged: (773, 50)\n", + "IN: 773, BOTH: 7, ONLY T1: 37, ONLY T2: 30, NO BINDS: 699, OUT: 773\n", + "IN: Sofa=(7, 50), OP=(43392, 22)\n", + "Both teams step, exact dates: Binded=(0, 54), Total=(0, 54), Rest=(7, 51)\n", + "Both teams step, within a day: Binded=(0, 54), Total=(0, 54), Rest=(7, 51)\n", + "(33, 53)\n", + "IN: Sofa=(37, 50), OP=(43392, 22)\n", + "First team step, exact dates: Binded=(53, 54), Total=(53, 54), Rest=(34, 51)\n", + "First team step, within a day: Binded=(0, 54), Total=(3, 54), Rest=(34, 51)\n", + "(36, 53)\n", + "IN: Sofa=(30, 50), OP=(43392, 22)\n", + "Second team step, exact dates: Binded=(156, 54), Total=(156, 54), Rest=(25, 51)\n", + "Second team step, within a day: Binded=(0, 54), Total=(5, 54), Rest=(25, 51)\n", + "(41, 53)\n", + "save (74, 12)\n", + "save (41, 12)\n", + "**** SECOND ITERATION ****\n", + "save (82, 12)\n", + "save (41, 12)\n", + "T1 merged: (773, 49)\n", + "T2 merged: (773, 50)\n", + "IN: 773, BOTH: 18, ONLY T1: 34, ONLY T2: 28, NO BINDS: 693, OUT: 773\n", + "IN: Sofa=(18, 50), OP=(43392, 22)\n", + "Both teams step, exact dates: Binded=(209, 54), Total=(209, 54), Rest=(10, 51)\n", + "Both teams step, within a day: Binded=(0, 54), Total=(8, 54), Rest=(10, 51)\n", + "(41, 53)\n", + "IN: Sofa=(34, 50), OP=(43392, 22)\n", + "First team step, exact dates: Binded=(0, 54), Total=(0, 54), Rest=(34, 51)\n", + "First team step, within a day: Binded=(0, 54), Total=(0, 54), Rest=(34, 51)\n", + "(41, 53)\n", + "IN: Sofa=(28, 50), OP=(43392, 22)\n", + "Second team step, exact dates: Binded=(44, 54), Total=(44, 54), Rest=(26, 51)\n", + "Second team step, within a day: Binded=(0, 54), Total=(2, 54), Rest=(26, 51)\n", + "(43, 53)\n", + "save (84, 12)\n", + "save (43, 12)\n", + "**** THIRD ITERATION ****\n", + "save (86, 12)\n", + "save (43, 12)\n", + "T1 merged: (773, 49)\n", + "T2 merged: (773, 50)\n", + "IN: 773, BOTH: 22, ONLY T1: 34, ONLY T2: 29, NO BINDS: 688, OUT: 773\n", + "IN: Sofa=(22, 50), OP=(43392, 22)\n", + "Both teams step, exact dates: Binded=(253, 54), Total=(253, 54), Rest=(12, 51)\n", + "Both teams step, within a day: Binded=(0, 54), Total=(10, 54), Rest=(12, 51)\n", + "(43, 53)\n", + "IN: Sofa=(34, 50), OP=(43392, 22)\n", + "First team step, exact dates: Binded=(0, 54), Total=(0, 54), Rest=(34, 51)\n", + "First team step, within a day: Binded=(0, 54), Total=(0, 54), Rest=(34, 51)\n", + "(43, 53)\n", + "IN: Sofa=(29, 50), OP=(43392, 22)\n", + "Second team step, exact dates: Binded=(10, 54), Total=(10, 54), Rest=(28, 51)\n", + "Second team step, within a day: Binded=(0, 54), Total=(1, 54), Rest=(28, 51)\n", + "(44, 53)\n", + "save (87, 12)\n", + "save (44, 12)\n" + ] + } + ], "source": [ + "ts=pytz.timezone(local_tz).localize(datetime.today()-timedelta(days=20))\n", + "df_op_=df_op[df_op['ds']>=ts]\n", + "df_sofa=df_sofa[df_sofa['ds']>=ts]\n", "df_sofa_binded, df_sofa_ = bind_full(df_sofa,df_op_)\n", "df_sofa_binded=bind_iteration('FIRST',df_sofa_binded,df_sofa_, df_op_)\n", "df_sofa_binded=bind_iteration('SECOND',df_sofa_binded,df_sofa_, df_op_)\n", @@ -131,18 +226,20 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "# Today" + ], + "cell_type": "markdown", + "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "dp=DataCollector()\n" + ] }, { "source": [ diff --git a/data.ipynb b/data.ipynb index 5a4f448..97b9a12 100644 --- a/data.ipynb +++ b/data.ipynb @@ -27,37 +27,6 @@ "nbformat_minor": 2, "cells": [ { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import glob\n", - "import pandas as pd\n", - "import numpy as np\n", - "import seaborn as sns\n", - "import pickle\n", - "import pytz\n", - "from datetime import timezone,datetime,timedelta\n", - "from sklearn.preprocessing import LabelEncoder,OneHotEncoder,MinMaxScaler\n", - "import gc\n", - "\n", - "import api.util\n", - "#from api.data_collector import DataCollector\n", - "from api.sofa_dp import SofaDataProvider\n", - "from api.op_dp import OpDataProvider\n", - "\n", - "from IPython.display import display\n", - "pd.options.display.max_columns = None\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], "source": [ "class DataCollector:\n", " def __init__(self):\n", @@ -77,7 +46,6 @@ " return encoder\n", " \n", " def _save_prerequisite(self, name, data):\n", - " folder='prerequisites/'\n", " os.makedirs(self.PREREQUISITES_PATH, mode=0o777, exist_ok=True)\n", " with open(os.path.join(self.PREREQUISITES_PATH, name), mode='wb') as f:\n", " pickle.dump(data, f) \n", @@ -206,16 +174,45 @@ " df_home=pd.concat([df_home,df_away], axis=0)\n", "\n", " return df_home.reset_index(drop=True)" - ] - }, - { - "source": [ - "dp=DataCollector()\n", - "dp._provide_op()" ], "cell_type": "markdown", "metadata": {} }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n %reload_ext autoreload\n" + ] + } + ], + "source": [ + "import glob\n", + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import pickle\n", + "import pytz\n", + "from datetime import timezone,datetime,timedelta\n", + "from sklearn.preprocessing import LabelEncoder,OneHotEncoder,MinMaxScaler\n", + "import gc\n", + "\n", + "import api.util\n", + "from api.data_collector import DataCollector\n", + "from api.sofa_dp import SofaDataProvider\n", + "from api.op_dp import OpDataProvider\n", + "\n", + "from IPython.display import display\n", + "pd.options.display.max_columns = None\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, { "cell_type": "code", "execution_count": 11, @@ -235,13 +232,6 @@ "df=dp.provide_data()" ] }, - { - "source": [ - "df" - ], - "cell_type": "markdown", - "metadata": {} - }, { "cell_type": "code", "execution_count": 12, @@ -274,7 +264,7 @@ " df_['C']=df_.groupby([group_feature])['N'].apply(lambda x : x.shift().cumsum())#.cumsum()#-1\n", " #display(df_)\n", " for col in cols:\n", - " print(col)\n", + " print(col, end=', ')\n", " cols_out.append(f'{col}_{name}_avg')\n", " df_[f'{col}_{name}_sum']=df_.groupby([group_feature])[col].apply(lambda x : x.shift().cumsum())#.cumsum()#-df_teams[col]\n", " df_[f'{col}_{name}_avg']=df_[f'{col}_{name}_sum']/df_['C']\n", @@ -289,7 +279,7 @@ " df_['C']=df_.groupby([group_feature])['N'].apply(lambda x : x.shift().rolling(min_periods=1, window=n).sum())\n", " #display(df_)\n", " for col in cols:\n", - " print(col)\n", + " print(col, end=', ')\n", " cols_out.append(f'{col}_{name}_{n}')\n", " df_[f'{col}_{name}_sum']=df_.groupby([group_feature])[col].apply(lambda x : x.shift().rolling(min_periods=1, window=n).sum())\n", " df_[f'{col}_{name}_{n}']=df_[f'{col}_{name}_sum']/df_['C']\n", @@ -848,165 +838,1907 @@ "df.to_csv('data/stats_generated.csv', index=False)" ] }, + { + "source": [ + "# Teams last stats" + ], + "cell_type": "markdown", + "metadata": {} + }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 71, "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " n\n", - "_diff_oddsprob_home_tt_form 106514\n", - "_diff_oddsprob_draw_tt_form 106514\n", - "_diff_oddsprob_away_tt_form 106514\n", - "_diff_drift_home_tt_form 106514\n", - "_diff_drift_away_tt_form 106514\n", - "_diff_drift_draw_tt_form 106514" - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
n
_diff_oddsprob_home_tt_form106514
_diff_oddsprob_draw_tt_form106514
_diff_oddsprob_away_tt_form106514
_diff_drift_home_tt_form106514
_diff_drift_away_tt_form106514
_diff_drift_draw_tt_form106514
\n
" - }, - "metadata": {}, - "execution_count": 42 - } - ], + "outputs": [], "source": [ - "nulls=pd.DataFrame(df_.isna().sum(), columns=['n'])\n", - "nulls[nulls.n>100000]" + "df_all=pd.read_csv('data/stats_generated.csv', index_col=None)\n", + "df_all=df_all.dropna(subset=['ft1','ft2'])\n", + "df_all['ds']=df_all['ds']=pd.to_datetime(df_all['ds'])\n", + "df_all=df_all.sort_values(by='ds')\n", + "df_last=df_all.drop_duplicates(subset=['side','tid1'], keep='last')\n", + "df_last.to_csv('data/stats_teams.csv', index=False)" ] }, { "source": [ - "# No all\n", - "df_1=df.copy()[COL_INF+COL_CUR]\n", - "df_1=df_1.merge(df_home[df_home.columns[1:]], left_on=['mid','tid1'], right_on=['mid','tid'], how='left')\n", - "df_1=df_1.merge(df_away[df_away.columns[1:]], left_on=['mid','tid2'], right_on=['mid','tid'], how='left')\n", - "df_1.drop(columns=['tid_x','tid_y'], inplace=True)\n", - "cols_tar=[x for x in df_1.columns if '_th_' in x]\n", - "cols_opp=[x for x in df_1.columns if '_ta_' in x]\n", - "cols_diff=[x.replace('_th_','_diff_') for x in cols_tar]\n", - "df_1.reset_index(drop=True, inplace=True)\n", - "df_1=pd.concat([df_1,pd.DataFrame(df_1[cols_tar].values-df_1[cols_opp].values, columns=cols_diff)], axis=1)\n", - "df_1['diff_vote12']=df_1['vote1']-df_1['vote2']\n", - "df_1['diff_elo']=df_1['elo1']-df_1['elo2']\n", - "df_1['diff_op']=df_1['oddsprob_home']-df_1['oddsprob_away']" + "# Today" ], "cell_type": "markdown", "metadata": {} }, { + "source": [ + "from api.data_collector import DataCollector\n", + "dp=DataCollector(today=True)\n", + "#df=dp.provide_data()\n", + "df=dp.provide_today()\n", + "df_last=pd.read_csv('data/stats_teams.csv', index_col=None)" + ], "cell_type": "code", - "execution_count": 26, "metadata": {}, + "execution_count": 76, "outputs": [ { - "output_type": "display_data", - "data": { - "text/plain": " country liga mid round ds \\\n67788 romania liga-i 9270007 12 2021-01-10 17:00:00+00:00 \n135578 romania liga-i 9270007 12 2021-01-10 17:00:00+00:00 \n\n t1 t2 tid1 tid2 w1 wx w2 \\\n67788 fc viitorul constanta fc hermannstadt 594 1499 1 0 0 \n135578 fc hermannstadt fc viitorul constanta 1499 594 0 0 1 \n\n ft1 ft2 winner odds_away odds_draw odds_home country_id round \\\n67788 2.0 1.0 home NaN NaN NaN 34 12 \n135578 1.0 2.0 home NaN NaN NaN 34 12 \n\n ds de form1 form2 vote1 \\\n67788 2021-01-10 17:00:00+00:00 2021-01-10 18 14 0.623808 \n135578 2021-01-10 17:00:00+00:00 2021-01-10 14 18 0.068589 \n\n votex vote2 pop_r elo1 elo2 oddsprob_home \\\n67788 0.307603 0.068589 0 1352.687866 1285.478027 NaN \n135578 0.307603 0.623808 0 1285.478027 1352.687866 NaN \n\n oddsprob_draw oddsprob_away drift_home drift_away drift_draw \\\n67788 NaN NaN NaN NaN NaN \n135578 NaN NaN NaN NaN NaN \n\n tar_w1_tt_avg tar_wx_tt_avg tar_w2_tt_avg tar_ht1_tt_avg \\\n67788 0.418994 0.245810 0.335196 0.597765 \n135578 0.273684 0.315789 0.410526 0.431579 \n\n tar_ht2_tt_avg tar_ft1_tt_avg tar_ft2_tt_avg tar_ps_ht_tt_avg \\\n67788 0.564246 1.441341 1.223464 0.033520 \n135578 0.515789 1.021053 1.357895 -0.084211 \n\n tar_ps_ft_tt_avg tar_vote1_tt_avg tar_votex_tt_avg \\\n67788 0.217877 0.421861 0.246587 \n135578 -0.336842 0.262723 0.286901 \n\n tar_vote2_tt_avg tar_elo1_tt_avg tar_elo2_tt_avg \\\n67788 0.331553 1405.488915 1350.262910 \n135578 0.450376 1238.260056 1280.394616 \n\n tar_oddsprob_home_tt_avg tar_oddsprob_draw_tt_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n tar_oddsprob_away_tt_avg tar_drift_home_tt_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n tar_drift_away_tt_avg tar_drift_draw_tt_avg opp_w1_tt_avg \\\n67788 NaN NaN 0.273684 \n135578 NaN NaN 0.418994 \n\n opp_wx_tt_avg opp_w2_tt_avg opp_ht1_tt_avg opp_ht2_tt_avg \\\n67788 0.315789 0.410526 0.431579 0.515789 \n135578 0.245810 0.335196 0.597765 0.564246 \n\n opp_ft1_tt_avg opp_ft2_tt_avg opp_ps_ht_tt_avg opp_ps_ft_tt_avg \\\n67788 1.021053 1.357895 -0.084211 -0.336842 \n135578 1.441341 1.223464 0.033520 0.217877 \n\n opp_vote1_tt_avg opp_votex_tt_avg opp_vote2_tt_avg opp_elo1_tt_avg \\\n67788 0.262723 0.286901 0.450376 1238.260056 \n135578 0.421861 0.246587 0.331553 1405.488915 \n\n opp_elo2_tt_avg opp_oddsprob_home_tt_avg opp_oddsprob_draw_tt_avg \\\n67788 1280.394616 NaN NaN \n135578 1350.262910 NaN NaN \n\n opp_oddsprob_away_tt_avg opp_drift_home_tt_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n opp_drift_away_tt_avg opp_drift_draw_tt_avg tar_w1_ts_avg \\\n67788 NaN NaN 0.500000 \n135578 NaN NaN 0.191489 \n\n tar_wx_ts_avg tar_w2_ts_avg tar_ht1_ts_avg tar_ht2_ts_avg \\\n67788 0.204545 0.295455 0.727273 0.477273 \n135578 0.340426 0.468085 0.340426 0.702128 \n\n tar_ft1_ts_avg tar_ft2_ts_avg tar_ps_ht_ts_avg tar_ps_ft_ts_avg \\\n67788 1.715909 1.056818 0.250000 0.659091 \n135578 0.936170 1.574468 -0.361702 -0.638298 \n\n tar_vote1_ts_avg tar_votex_ts_avg tar_vote2_ts_avg tar_elo1_ts_avg \\\n67788 0.517677 0.237200 0.245123 1413.419866 \n135578 0.144103 0.278918 0.576980 1251.697931 \n\n tar_elo2_ts_avg tar_oddsprob_home_ts_avg tar_oddsprob_draw_ts_avg \\\n67788 1351.429943 NaN NaN \n135578 NaN NaN NaN \n\n tar_oddsprob_away_ts_avg tar_drift_home_ts_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n tar_drift_away_ts_avg tar_drift_draw_ts_avg opp_w1_ts_avg \\\n67788 NaN NaN 0.191489 \n135578 NaN NaN 0.500000 \n\n opp_wx_ts_avg opp_w2_ts_avg opp_ht1_ts_avg opp_ht2_ts_avg \\\n67788 0.340426 0.468085 0.340426 0.702128 \n135578 0.204545 0.295455 0.727273 0.477273 \n\n opp_ft1_ts_avg opp_ft2_ts_avg opp_ps_ht_ts_avg opp_ps_ft_ts_avg \\\n67788 0.936170 1.574468 -0.361702 -0.638298 \n135578 1.715909 1.056818 0.250000 0.659091 \n\n opp_vote1_ts_avg opp_votex_ts_avg opp_vote2_ts_avg opp_elo1_ts_avg \\\n67788 0.144103 0.278918 0.576980 1251.697931 \n135578 0.517677 0.237200 0.245123 1413.419866 \n\n opp_elo2_ts_avg opp_oddsprob_home_ts_avg opp_oddsprob_draw_ts_avg \\\n67788 NaN NaN NaN \n135578 1351.429943 NaN NaN \n\n opp_oddsprob_away_ts_avg opp_drift_home_ts_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n opp_drift_away_ts_avg opp_drift_draw_ts_avg _diff_w1_tt_avg \\\n67788 NaN NaN 0.14531 \n135578 NaN NaN -0.14531 \n\n _diff_wx_tt_avg _diff_w2_tt_avg _diff_ht1_tt_avg _diff_ht2_tt_avg \\\n67788 -0.069979 -0.075331 0.166186 0.048456 \n135578 0.069979 0.075331 -0.166186 -0.048456 \n\n _diff_ft1_tt_avg _diff_ft2_tt_avg _diff_ps_ht_tt_avg \\\n67788 0.420288 -0.134431 0.11773 \n135578 -0.420288 0.134431 -0.11773 \n\n _diff_ps_ft_tt_avg _diff_vote1_tt_avg _diff_votex_tt_avg \\\n67788 0.554719 0.159138 -0.040315 \n135578 -0.554719 -0.159138 0.040315 \n\n _diff_vote2_tt_avg _diff_elo1_tt_avg _diff_elo2_tt_avg \\\n67788 -0.118823 167.228859 69.868294 \n135578 0.118823 -167.228859 -69.868294 \n\n _diff_oddsprob_home_tt_avg _diff_oddsprob_draw_tt_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n _diff_oddsprob_away_tt_avg _diff_drift_home_tt_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n _diff_drift_away_tt_avg _diff_drift_draw_tt_avg _diff_w1_ts_avg \\\n67788 NaN NaN 0.308511 \n135578 NaN NaN -0.308511 \n\n _diff_wx_ts_avg _diff_w2_ts_avg _diff_ht1_ts_avg _diff_ht2_ts_avg \\\n67788 -0.13588 -0.172631 0.386847 -0.224855 \n135578 0.13588 0.172631 -0.386847 0.224855 \n\n _diff_ft1_ts_avg _diff_ft2_ts_avg _diff_ps_ht_ts_avg \\\n67788 0.779739 -0.51765 0.611702 \n135578 -0.779739 0.51765 -0.611702 \n\n _diff_ps_ft_ts_avg _diff_vote1_ts_avg _diff_votex_ts_avg \\\n67788 1.297389 0.373574 -0.041718 \n135578 -1.297389 -0.373574 0.041718 \n\n _diff_vote2_ts_avg _diff_elo1_ts_avg _diff_elo2_ts_avg \\\n67788 -0.331856 161.721936 NaN \n135578 0.331856 -161.721936 NaN \n\n _diff_oddsprob_home_ts_avg _diff_oddsprob_draw_ts_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n _diff_oddsprob_away_ts_avg _diff_drift_home_ts_avg \\\n67788 NaN NaN \n135578 NaN NaN \n\n _diff_drift_away_ts_avg _diff_drift_draw_ts_avg diff_vote12 \\\n67788 NaN NaN 0.55522 \n135578 NaN NaN -0.55522 \n\n diff_elo diff_op \n67788 67.209839 NaN \n135578 -67.209839 NaN ", - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnerodds_awayodds_drawodds_homecountry_idrounddsdeform1form2vote1votexvote2pop_relo1elo2oddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_drawtar_w1_tt_avgtar_wx_tt_avgtar_w2_tt_avgtar_ht1_tt_avgtar_ht2_tt_avgtar_ft1_tt_avgtar_ft2_tt_avgtar_ps_ht_tt_avgtar_ps_ft_tt_avgtar_vote1_tt_avgtar_votex_tt_avgtar_vote2_tt_avgtar_elo1_tt_avgtar_elo2_tt_avgtar_oddsprob_home_tt_avgtar_oddsprob_draw_tt_avgtar_oddsprob_away_tt_avgtar_drift_home_tt_avgtar_drift_away_tt_avgtar_drift_draw_tt_avgopp_w1_tt_avgopp_wx_tt_avgopp_w2_tt_avgopp_ht1_tt_avgopp_ht2_tt_avgopp_ft1_tt_avgopp_ft2_tt_avgopp_ps_ht_tt_avgopp_ps_ft_tt_avgopp_vote1_tt_avgopp_votex_tt_avgopp_vote2_tt_avgopp_elo1_tt_avgopp_elo2_tt_avgopp_oddsprob_home_tt_avgopp_oddsprob_draw_tt_avgopp_oddsprob_away_tt_avgopp_drift_home_tt_avgopp_drift_away_tt_avgopp_drift_draw_tt_avgtar_w1_ts_avgtar_wx_ts_avgtar_w2_ts_avgtar_ht1_ts_avgtar_ht2_ts_avgtar_ft1_ts_avgtar_ft2_ts_avgtar_ps_ht_ts_avgtar_ps_ft_ts_avgtar_vote1_ts_avgtar_votex_ts_avgtar_vote2_ts_avgtar_elo1_ts_avgtar_elo2_ts_avgtar_oddsprob_home_ts_avgtar_oddsprob_draw_ts_avgtar_oddsprob_away_ts_avgtar_drift_home_ts_avgtar_drift_away_ts_avgtar_drift_draw_ts_avgopp_w1_ts_avgopp_wx_ts_avgopp_w2_ts_avgopp_ht1_ts_avgopp_ht2_ts_avgopp_ft1_ts_avgopp_ft2_ts_avgopp_ps_ht_ts_avgopp_ps_ft_ts_avgopp_vote1_ts_avgopp_votex_ts_avgopp_vote2_ts_avgopp_elo1_ts_avgopp_elo2_ts_avgopp_oddsprob_home_ts_avgopp_oddsprob_draw_ts_avgopp_oddsprob_away_ts_avgopp_drift_home_ts_avgopp_drift_away_ts_avgopp_drift_draw_ts_avg_diff_w1_tt_avg_diff_wx_tt_avg_diff_w2_tt_avg_diff_ht1_tt_avg_diff_ht2_tt_avg_diff_ft1_tt_avg_diff_ft2_tt_avg_diff_ps_ht_tt_avg_diff_ps_ft_tt_avg_diff_vote1_tt_avg_diff_votex_tt_avg_diff_vote2_tt_avg_diff_elo1_tt_avg_diff_elo2_tt_avg_diff_oddsprob_home_tt_avg_diff_oddsprob_draw_tt_avg_diff_oddsprob_away_tt_avg_diff_drift_home_tt_avg_diff_drift_away_tt_avg_diff_drift_draw_tt_avg_diff_w1_ts_avg_diff_wx_ts_avg_diff_w2_ts_avg_diff_ht1_ts_avg_diff_ht2_ts_avg_diff_ft1_ts_avg_diff_ft2_ts_avg_diff_ps_ht_ts_avg_diff_ps_ft_ts_avg_diff_vote1_ts_avg_diff_votex_ts_avg_diff_vote2_ts_avg_diff_elo1_ts_avg_diff_elo2_ts_avg_diff_oddsprob_home_ts_avg_diff_oddsprob_draw_ts_avg_diff_oddsprob_away_ts_avg_diff_drift_home_ts_avg_diff_drift_away_ts_avg_diff_drift_draw_ts_avgdiff_vote12diff_elodiff_op
67788romanialiga-i9270007122021-01-10 17:00:00+00:00fc viitorul constantafc hermannstadt59414991002.01.0homeNaNNaNNaN34122021-01-10 17:00:00+00:002021-01-1018140.6238080.3076030.06858901352.6878661285.478027NaNNaNNaNNaNNaNNaN0.4189940.2458100.3351960.5977650.5642461.4413411.2234640.0335200.2178770.4218610.2465870.3315531405.4889151350.262910NaNNaNNaNNaNNaNNaN0.2736840.3157890.4105260.4315790.5157891.0210531.357895-0.084211-0.3368420.2627230.2869010.4503761238.2600561280.394616NaNNaNNaNNaNNaNNaN0.5000000.2045450.2954550.7272730.4772731.7159091.0568180.2500000.6590910.5176770.2372000.2451231413.4198661351.429943NaNNaNNaNNaNNaNNaN0.1914890.3404260.4680850.3404260.7021280.9361701.574468-0.361702-0.6382980.1441030.2789180.5769801251.697931NaNNaNNaNNaNNaNNaNNaN0.14531-0.069979-0.0753310.1661860.0484560.420288-0.1344310.117730.5547190.159138-0.040315-0.118823167.22885969.868294NaNNaNNaNNaNNaNNaN0.308511-0.13588-0.1726310.386847-0.2248550.779739-0.517650.6117021.2973890.373574-0.041718-0.331856161.721936NaNNaNNaNNaNNaNNaNNaN0.5552267.209839NaN
135578romanialiga-i9270007122021-01-10 17:00:00+00:00fc hermannstadtfc viitorul constanta14995940011.02.0homeNaNNaNNaN34122021-01-10 17:00:00+00:002021-01-1014180.0685890.3076030.62380801285.4780271352.687866NaNNaNNaNNaNNaNNaN0.2736840.3157890.4105260.4315790.5157891.0210531.357895-0.084211-0.3368420.2627230.2869010.4503761238.2600561280.394616NaNNaNNaNNaNNaNNaN0.4189940.2458100.3351960.5977650.5642461.4413411.2234640.0335200.2178770.4218610.2465870.3315531405.4889151350.262910NaNNaNNaNNaNNaNNaN0.1914890.3404260.4680850.3404260.7021280.9361701.574468-0.361702-0.6382980.1441030.2789180.5769801251.697931NaNNaNNaNNaNNaNNaNNaN0.5000000.2045450.2954550.7272730.4772731.7159091.0568180.2500000.6590910.5176770.2372000.2451231413.4198661351.429943NaNNaNNaNNaNNaNNaN-0.145310.0699790.075331-0.166186-0.048456-0.4202880.134431-0.11773-0.554719-0.1591380.0403150.118823-167.228859-69.868294NaNNaNNaNNaNNaNNaN-0.3085110.135880.172631-0.3868470.224855-0.7797390.51765-0.611702-1.297389-0.3735740.0417180.331856-161.721936NaNNaNNaNNaNNaNNaNNaN-0.55522-67.209839NaN
\n
" - }, - "metadata": {} + "output_type": "stream", + "name": "stdout", + "text": [ + "93\nEmpty DataFrame\nColumns: [team]\nIndex: []\n" + ] } - ], - "source": [ - "display(df_[df_.mid==id])" ] }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 77, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - " ds mid tid w1_th_avg wx_th_avg \\\n", - "67789 2021-01-10 15:00:00+00:00 8736289 685 0.433333 0.133333 \n", - "\n", - " w2_th_avg ht1_th_avg ht2_th_avg ft1_th_avg ft2_th_avg \\\n", - "67789 0.433333 0.6 0.866667 1.3 1.566667 \n", - "\n", - " ps_ht_th_avg ps_ft_th_avg vote1_th_avg votex_th_avg vote2_th_avg \\\n", - "67789 -0.266667 -0.266667 0.384568 0.214804 0.400628 \n", - "\n", - " elo1_th_avg elo2_th_avg oddsprob_home_th_avg oddsprob_draw_th_avg \\\n", - "67789 1030.232308 1012.008004 0.162159 0.124672 \n", - "\n", - " oddsprob_away_th_avg drift_home_th_avg drift_away_th_avg \\\n", - "67789 0.213169 -0.009556 0.01476 \n", - "\n", - " drift_draw_th_avg \n", - "67789 0.011214 " + " ht2 country country_id ds ht1 liga \\\n", + "0 NaN england 15 2021-01-31 12:00:00+00:00 NaN premier-league \n", + "1 NaN england 15 2021-01-31 14:00:00+00:00 NaN premier-league \n", + "2 NaN england 15 2021-01-31 16:30:00+00:00 NaN premier-league \n", + "3 NaN england 15 2021-01-31 19:15:00+00:00 NaN premier-league \n", + "4 NaN spain 42 2021-01-31 15:15:00+00:00 NaN laliga \n", + ".. ... ... ... ... ... ... \n", + "153 NaN austria 2 2021-01-31 13:30:00+00:00 NaN bundesliga \n", + "154 NaN turkey 45 2021-01-31 13:00:00+00:00 NaN tff-1-lig \n", + "155 NaN belgium 4 2021-01-31 12:30:00+00:00 NaN pro-league \n", + "156 NaN germany 20 2021-01-31 13:00:00+00:00 NaN 3-liga \n", + "157 NaN greece 21 2021-01-31 13:00:00+00:00 NaN super-league \n", + "\n", + " mid round ft1 ft2 t1 t2 tid1 \\\n", + "0 8897050 21 NaN NaN chelsea burnley 4 \n", + "1 8897051 21 NaN NaN leicester city leeds united 6 \n", + "2 8897027 21 NaN NaN west ham united liverpool 120 \n", + "3 8897039 21 NaN NaN brighton hove albion tottenham 609 \n", + "4 8966464 21 NaN NaN cadiz atletico madrid 940 \n", + ".. ... ... ... ... ... ... ... \n", + "153 8858506 15 NaN NaN wolfsberger ac skn st polten 330 \n", + "154 8917288 19 NaN NaN adana demirspor boluspor 153 \n", + "155 8833161 23 NaN NaN standard liege club brugge 270 \n", + "156 8897913 22 NaN NaN fsv zwickau tsv 1860 munchen 1161 \n", + "157 9238612 20 NaN NaN aek athens ofi crete 548 \n", + "\n", + " tid2 winner formation_h formation_a form1 form2 vote1 votex \\\n", + "0 3 draw NaN NaN NaN NaN 0.762910 0.160065 \n", + "1 796 draw 4-2-3-1 4-1-4-1 14.0 12.0 0.689995 0.206004 \n", + "2 181 draw 4-2-3-1 4-3-3 14.0 18.0 0.193081 0.186881 \n", + "3 274 draw 3-5-2 4-2-3-1 9.0 14.0 0.119534 0.192975 \n", + "4 134 draw 4-4-2 4-4-2 20.0 20.0 0.126301 0.173107 \n", + ".. ... ... ... ... ... ... ... ... \n", + "153 1033 draw NaN NaN NaN NaN 0.457300 0.347658 \n", + "154 410 draw NaN NaN NaN NaN 0.509294 0.267658 \n", + "155 82 draw NaN NaN NaN NaN 0.081898 0.254644 \n", + "156 296 draw NaN NaN NaN NaN 0.052140 0.254796 \n", + "157 35 draw NaN NaN NaN NaN 0.577407 0.240687 \n", + "\n", + " vote2 votes y pop_r de elo1 elo2 \\\n", + "0 0.077026 27770.0 2021 4.0 2021-01-31 1828.057861 1719.795166 \n", + "1 0.104001 23019.0 2021 3.0 2021-01-31 1821.147705 1676.518799 \n", + "2 0.620038 28066.0 2021 4.0 2021-01-31 1757.818237 1944.577148 \n", + "3 0.687491 21609.0 2021 3.0 2021-01-31 1662.046997 1836.129150 \n", + "4 0.700591 22668.0 2021 3.0 2021-01-31 1598.655518 1927.645752 \n", + ".. ... ... ... ... ... ... ... \n", + "153 0.195041 1815.0 2021 0.0 2021-01-31 1550.491699 1419.237427 \n", + "154 0.223048 807.0 2021 0.0 2021-01-31 NaN NaN \n", + "155 0.663458 7375.0 2021 1.0 2021-01-31 1521.353760 1688.555908 \n", + "156 0.693064 2033.0 2021 0.0 2021-01-31 NaN NaN \n", + "157 0.181906 4134.0 2021 0.0 2021-01-31 1516.458130 1275.163452 \n", + "\n", + " op_tid1 op_tid2 odds_away odds_draw odds_home oddsprob1 oddsprobx \\\n", + "0 256 135 9.68 5.20 1.35 0.713223 0.186128 \n", + "1 239 1503 4.25 4.05 1.81 0.533874 0.238475 \n", + "2 444 1183 1.78 4.04 4.41 0.218530 0.240785 \n", + "3 984 680 2.28 3.40 3.30 0.291167 0.286855 \n", + "4 1588 261 NaN NaN NaN NaN NaN \n", + ".. ... ... ... ... ... ... ... \n", + "153 1395 368 NaN NaN NaN NaN NaN \n", + "154 6537 4729 NaN NaN NaN NaN NaN \n", + "155 562 1355 NaN NaN NaN NaN NaN \n", + "156 1193 2159 1.84 3.37 4.47 NaN NaN \n", + "157 246 575 NaN NaN NaN NaN NaN \n", + "\n", + " oddsprob2 drift1 drift2 driftx psft psht w1 wx w2 side \\\n", + "0 0.100649 -0.068265 0.210811 0.081265 0 0 0 0 0 1 \n", + "1 0.227651 -0.041660 0.058843 0.025857 0 0 0 0 0 1 \n", + "2 0.540685 -0.091515 0.037856 -0.022932 0 0 0 0 0 1 \n", + "3 0.421978 -0.078422 0.078682 -0.059461 0 0 0 0 0 1 \n", + "4 NaN NaN NaN NaN 0 0 0 0 0 1 \n", + ".. ... ... ... ... ... ... .. .. .. ... \n", + "153 NaN NaN NaN NaN 0 0 0 0 0 0 \n", + "154 NaN NaN NaN NaN 0 0 0 0 0 0 \n", + "155 NaN NaN NaN NaN 0 0 0 0 0 0 \n", + "156 NaN NaN NaN NaN 0 0 0 0 0 0 \n", + "157 NaN NaN NaN NaN 0 0 0 0 0 0 \n", + "\n", + " awayScoreHT homeScoreHT sc1 sc2 oddsprob_home oddsprob_draw \\\n", + "0 NaN NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN NaN NaN \n", + ".. ... ... ... ... ... ... \n", + "153 NaN NaN NaN NaN NaN NaN \n", + "154 NaN NaN NaN NaN NaN NaN \n", + "155 NaN NaN NaN NaN NaN NaN \n", + "156 NaN NaN NaN NaN 0.505812 0.280372 \n", + "157 NaN NaN NaN NaN NaN NaN \n", + "\n", + " oddsprob_away drift_home drift_away drift_draw \n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + ".. ... ... ... ... \n", + "153 NaN NaN NaN NaN \n", + "154 NaN NaN NaN NaN \n", + "155 NaN NaN NaN NaN \n", + "156 0.213816 0.063097 -0.084783 -0.082277 \n", + "157 NaN NaN NaN NaN \n", + "\n", + "[158 rows x 55 columns]" ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
dsmidtidw1_th_avgwx_th_avgw2_th_avght1_th_avght2_th_avgft1_th_avgft2_th_avgps_ht_th_avgps_ft_th_avgvote1_th_avgvotex_th_avgvote2_th_avgelo1_th_avgelo2_th_avgoddsprob_home_th_avgoddsprob_draw_th_avgoddsprob_away_th_avgdrift_home_th_avgdrift_away_th_avgdrift_draw_th_avg
677892021-01-10 15:00:00+00:0087362896850.4333330.1333330.4333330.60.8666671.31.566667-0.266667-0.2666670.3845680.2148040.4006281030.2323081012.0080040.1621590.1246720.213169-0.0095560.014760.011214
\n
" + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ht2countrycountry_iddsht1ligamidroundft1ft2t1t2tid1tid2winnerformation_hformation_aform1form2vote1votexvote2votesypop_rdeelo1elo2op_tid1op_tid2odds_awayodds_drawodds_homeoddsprob1oddsprobxoddsprob2drift1drift2driftxpsftpshtw1wxw2sideawayScoreHThomeScoreHTsc1sc2oddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
0NaNengland152021-01-31 12:00:00+00:00NaNpremier-league889705021NaNNaNchelseaburnley43drawNaNNaNNaNNaN0.7629100.1600650.07702627770.020214.02021-01-311828.0578611719.7951662561359.685.201.350.7132230.1861280.100649-0.0682650.2108110.081265000001NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
1NaNengland152021-01-31 14:00:00+00:00NaNpremier-league889705121NaNNaNleicester cityleeds united6796draw4-2-3-14-1-4-114.012.00.6899950.2060040.10400123019.020213.02021-01-311821.1477051676.51879923915034.254.051.810.5338740.2384750.227651-0.0416600.0588430.025857000001NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2NaNengland152021-01-31 16:30:00+00:00NaNpremier-league889702721NaNNaNwest ham unitedliverpool120181draw4-2-3-14-3-314.018.00.1930810.1868810.62003828066.020214.02021-01-311757.8182371944.57714844411831.784.044.410.2185300.2407850.540685-0.0915150.037856-0.022932000001NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3NaNengland152021-01-31 19:15:00+00:00NaNpremier-league889703921NaNNaNbrighton hove albiontottenham609274draw3-5-24-2-3-19.014.00.1195340.1929750.68749121609.020213.02021-01-311662.0469971836.1291509846802.283.403.300.2911670.2868550.421978-0.0784220.078682-0.059461000001NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4NaNspain422021-01-31 15:15:00+00:00NaNlaliga896646421NaNNaNcadizatletico madrid940134draw4-4-24-4-220.020.00.1263010.1731070.70059122668.020213.02021-01-311598.6555181927.6457521588261NaNNaNNaNNaNNaNNaNNaNNaNNaN000001NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
........................................................................................................................................................................
153NaNaustria22021-01-31 13:30:00+00:00NaNbundesliga885850615NaNNaNwolfsberger acskn st polten3301033drawNaNNaNNaNNaN0.4573000.3476580.1950411815.020210.02021-01-311550.4916991419.2374271395368NaNNaNNaNNaNNaNNaNNaNNaNNaN000000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
154NaNturkey452021-01-31 13:00:00+00:00NaNtff-1-lig891728819NaNNaNadana demirsporboluspor153410drawNaNNaNNaNNaN0.5092940.2676580.223048807.020210.02021-01-31NaNNaN65374729NaNNaNNaNNaNNaNNaNNaNNaNNaN000000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
155NaNbelgium42021-01-31 12:30:00+00:00NaNpro-league883316123NaNNaNstandard liegeclub brugge27082drawNaNNaNNaNNaN0.0818980.2546440.6634587375.020211.02021-01-311521.3537601688.5559085621355NaNNaNNaNNaNNaNNaNNaNNaNNaN000000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
156NaNgermany202021-01-31 13:00:00+00:00NaN3-liga889791322NaNNaNfsv zwickautsv 1860 munchen1161296drawNaNNaNNaNNaN0.0521400.2547960.6930642033.020210.02021-01-31NaNNaN119321591.843.374.47NaNNaNNaNNaNNaNNaN000000NaNNaNNaNNaN0.5058120.2803720.2138160.063097-0.084783-0.082277
157NaNgreece212021-01-31 13:00:00+00:00NaNsuper-league923861220NaNNaNaek athensofi crete54835drawNaNNaNNaNNaN0.5774070.2406870.1819064134.020210.02021-01-311516.4581301275.163452246575NaNNaNNaNNaNNaNNaNNaNNaNNaN000000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n

158 rows × 55 columns

\n
" }, "metadata": {}, - "execution_count": 67 + "execution_count": 77 } ], "source": [ - "df_home[df_home.mid==8736289]" + "df" ] }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 79, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - " ds mid tid w1_ta_avg wx_ta_avg \\\n", - "67789 2021-01-10 15:00:00+00:00 8736289 306 0.27027 0.243243 \n", + "ph2_tt_avg tar_possession1_tt_avg tar_possession2_tt_avg \\\n", + "3131 0.45127 0.524594 0.387906 \n", + "\n", + " tar_shont1_tt_avg tar_shont2_tt_avg tar_shofft1_tt_avg \\\n", + "3131 0.197625 0.127875 0.173276 \n", + "\n", + " tar_shofft2_tt_avg tar_corners1_tt_avg tar_corners2_tt_avg \\\n", + "3131 0.12694 0.211058 0.154207 \n", + "\n", + " tar_offsides1_tt_avg tar_offsides2_tt_avg tar_fouls1_tt_avg \\\n", + "3131 0.126953 0.10293 0.144922 \n", + "\n", + " tar_fouls2_tt_avg tar_cards1_tt_avg tar_cards2_tt_avg \\\n", + "3131 0.16144 0.137216 0.180398 \n", + "\n", + " tar_gksaves1_tt_avg tar_gksaves2_tt_avg tar_precision1_tt_avg \\\n", + "3131 0.10253 0.15506 0.069683 \n", + "\n", + " tar_precision2_tt_avg tar_w1_tt_form tar_wx_tt_form tar_w2_tt_form \\\n", + "3131 0.073699 0.017094 0.025641 -0.042735 \n", + "\n", + " tar_ht1_tt_form tar_ht2_tt_form tar_ft1_tt_form tar_ft2_tt_form \\\n", + "3131 -0.188034 0.0 -0.598291 -0.196581 \n", + "\n", + " tar_psht_tt_form tar_psft_tt_form tar_vote1_tt_form \\\n", + "3131 -0.188034 -0.401709 0.142783 \n", + "\n", + " tar_votex_tt_form tar_vote2_tt_form tar_elo1_tt_form \\\n", + "3131 0.045273 -0.188056 99.445946 \n", + "\n", + " tar_elo2_tt_form tar_oddsprob1_tt_form tar_oddsprobx_tt_form \\\n", + "3131 96.333838 0.233744 0.108801 \n", + "\n", + " tar_oddsprob2_tt_form tar_drift1_tt_form tar_driftx_tt_form \\\n", + "3131 0.04207 -0.032167 -0.002899 \n", + "\n", + " tar_drift2_tt_form tar_graph1_tt_form tar_graph2_tt_form \\\n", + "3131 0.052207 0.079482 0.023082 \n", + "\n", + " tar_possession1_tt_form tar_possession2_tt_form tar_shont1_tt_form \\\n", + "3131 0.035385 0.015897 -0.000684 \n", + "\n", + " tar_shont2_tt_form tar_shofft1_tt_form tar_shofft2_tt_form \\\n", + "3131 -0.026325 -0.075744 -0.039198 \n", + "\n", + " tar_corners1_tt_form tar_corners2_tt_form tar_offsides1_tt_form \\\n", + "3131 0.011506 -0.04931 -0.032051 \n", + "\n", + " tar_offsides2_tt_form tar_fouls1_tt_form tar_fouls2_tt_form \\\n", + "3131 -0.060897 0.081349 0.070055 \n", + "\n", + " tar_cards1_tt_form tar_cards2_tt_form tar_gksaves1_tt_form \\\n", + "3131 0.083916 -0.055167 -0.025641 \n", + "\n", + " tar_gksaves2_tt_form tar_precision1_tt_form tar_precision2_tt_form \\\n", + "3131 0.02849 -0.000768 -0.020154 \n", + "\n", + " opp_w1_tt_avg opp_wx_tt_avg opp_w2_tt_avg opp_ht1_tt_avg \\\n", + "3131 0.308642 0.222222 0.469136 0.506173 \n", + "\n", + " opp_ht2_tt_avg opp_ft1_tt_avg opp_ft2_tt_avg opp_psht_tt_avg \\\n", + "3131 0.703704 1.111111 1.592593 -0.197531 \n", + "\n", + " opp_psft_tt_avg opp_vote1_tt_avg opp_votex_tt_avg opp_vote2_tt_avg \\\n", + "3131 -0.481481 0.228608 0.27897 0.492422 \n", + "\n", + " opp_elo1_tt_avg opp_elo2_tt_avg opp_oddsprob1_tt_avg \\\n", + "3131 1239.401789 1338.833638 NaN \n", "\n", - " w2_ta_avg ht1_ta_avg ht2_ta_avg ft1_ta_avg ft2_ta_avg \\\n", - "67789 0.486486 0.558559 0.918919 1.216216 1.774775 \n", + " opp_oddsprobx_tt_avg opp_oddsprob2_tt_avg opp_drift1_tt_avg \\\n", + "3131 NaN NaN NaN \n", "\n", - " ps_ht_ta_avg ps_ft_ta_avg vote1_ta_avg votex_ta_avg vote2_ta_avg \\\n", - "67789 -0.36036 -0.558559 0.238312 0.197249 0.564439 \n", + " opp_driftx_tt_avg opp_drift2_tt_avg opp_graph1_tt_avg \\\n", + "3131 NaN NaN 0.523748 \n", "\n", - " elo1_ta_avg elo2_ta_avg oddsprob_home_ta_avg oddsprob_draw_ta_avg \\\n", - "67789 1024.520863 1114.002228 NaN NaN \n", + " opp_graph2_tt_avg opp_possession1_tt_avg opp_possession2_tt_avg \\\n", + "3131 0.463906 0.429136 0.472099 \n", "\n", - " oddsprob_away_ta_avg drift_home_ta_avg drift_away_ta_avg \\\n", - "67789 NaN NaN NaN \n", + " opp_shont1_tt_avg opp_shont2_tt_avg opp_shofft1_tt_avg \\\n", + "3131 0.112593 0.159012 0.120903 \n", "\n", - " drift_draw_ta_avg \n", - "67789 NaN " + " opp_shofft2_tt_avg opp_corners1_tt_avg opp_corners2_tt_avg \\\n", + "3131 0.165177 0.17094 0.207502 \n", + "\n", + " opp_offsides1_tt_avg opp_offsides2_tt_avg opp_fouls1_tt_avg \\\n", + "3131 0.121914 0.098765 0.18761 \n", + "\n", + " opp_fouls2_tt_avg opp_cards1_tt_avg opp_cards2_tt_avg \\\n", + "3131 0.210758 0.13468 0.118967 \n", + "\n", + " opp_gksaves1_tt_avg opp_gksaves2_tt_avg opp_precision1_tt_avg \\\n", + "3131 0.131099 0.089359 0.08435 \n", + "\n", + " opp_precision2_tt_avg opp_w1_tt_form opp_wx_tt_form opp_w2_tt_form \\\n", + "3131 0.09117 -0.445693 0.074906 0.370787 \n", + "\n", + " opp_ht1_tt_form opp_ht2_tt_form opp_ft1_tt_form opp_ft2_tt_form \\\n", + "3131 -0.617978 -0.17603 -0.872659 0.11236 \n", + "\n", + " opp_psht_tt_form opp_psft_tt_form opp_vote1_tt_form \\\n", + "3131 -0.441948 -0.985019 -0.050833 \n", + "\n", + " opp_votex_tt_form opp_vote2_tt_form opp_elo1_tt_form \\\n", + "3131 -0.00356 0.054393 45.99404 \n", + "\n", + " opp_elo2_tt_form opp_oddsprob1_tt_form opp_oddsprobx_tt_form \\\n", + "3131 -524.523556 NaN NaN \n", + "\n", + " opp_oddsprob2_tt_form opp_drift1_tt_form opp_driftx_tt_form \\\n", + "3131 NaN NaN NaN \n", + "\n", + " opp_drift2_tt_form opp_graph1_tt_form opp_graph2_tt_form \\\n", + "3131 NaN 0.016975 0.012987 \n", + "\n", + " opp_possession1_tt_form opp_possession2_tt_form opp_shont1_tt_form \\\n", + "3131 0.000037 0.041161 0.00779 \n", + "\n", + " opp_shont2_tt_form opp_shofft1_tt_form opp_shofft2_tt_form \\\n", + "3131 -0.039101 -0.026217 -0.013431 \n", + "\n", + " opp_corners1_tt_form opp_corners2_tt_form opp_offsides1_tt_form \\\n", + "3131 -0.007058 -0.067128 -0.041901 \n", + "\n", + " opp_offsides2_tt_form opp_fouls1_tt_form opp_fouls2_tt_form \\\n", + "3131 0.180478 0.035915 -0.012841 \n", + "\n", + " opp_cards1_tt_form opp_cards2_tt_form opp_gksaves1_tt_form \\\n", + "3131 0.042901 0.019748 -0.037453 \n", + "\n", + " opp_gksaves2_tt_form opp_precision1_tt_form opp_precision2_tt_form \\\n", + "3131 0.047084 -0.033736 -0.033955 \n", + "\n", + " tar_w1_ts_avg tar_wx_ts_avg tar_w2_ts_avg tar_ht1_ts_avg \\\n", + "3131 0.621951 0.219512 0.158537 0.939024 \n", + "\n", + " tar_ht2_ts_avg tar_ft1_ts_avg tar_ft2_ts_avg tar_psht_ts_avg \\\n", + "3131 0.378049 1.987805 0.908537 0.560976 \n", + "\n", + " tar_psft_ts_avg tar_vote1_ts_avg tar_votex_ts_avg tar_vote2_ts_avg \\\n", + "3131 1.079268 0.665648 0.147763 0.186589 \n", + "\n", + " tar_elo1_ts_avg tar_elo2_ts_avg tar_oddsprob1_ts_avg \\\n", + "3131 1576.096386 1450.743095 NaN \n", + "\n", + " tar_oddsprobx_ts_avg tar_oddsprob2_ts_avg tar_drift1_ts_avg \\\n", + "3131 NaN NaN NaN \n", + "\n", + " tar_driftx_ts_avg tar_drift2_ts_avg tar_graph1_ts_avg \\\n", + "3131 NaN NaN 0.573199 \n", + "\n", + " tar_graph2_ts_avg tar_possession1_ts_avg tar_possession2_ts_avg \\\n", + "3131 0.396313 0.527866 0.398963 \n", + "\n", + " tar_shont1_ts_avg tar_shont2_ts_avg tar_shofft1_ts_avg \\\n", + "3131 0.224878 0.119268 0.183558 \n", + "\n", + " tar_shofft2_ts_avg tar_corners1_ts_avg tar_corners2_ts_avg \\\n", + "3131 0.120269 0.238274 0.155019 \n", + "\n", + " tar_offsides1_ts_avg tar_offsides2_ts_avg tar_fouls1_ts_avg \\\n", + "3131 0.126143 0.102896 0.144926 \n", + "\n", + " tar_fouls2_ts_avg tar_cards1_ts_avg tar_cards2_ts_avg \\\n", + "3131 0.171167 0.131375 0.186807 \n", + "\n", + " tar_gksaves1_ts_avg tar_gksaves2_ts_avg tar_precision1_ts_avg \\\n", + "3131 0.098432 0.179733 0.061417 \n", + "\n", + " tar_precision2_ts_avg tar_w1_ts_form tar_wx_ts_form tar_w2_ts_form \\\n", + "3131 0.07648 -0.324561 0.429825 -0.105263 \n", + "\n", + " tar_ht1_ts_form tar_ht2_ts_form tar_ft1_ts_form tar_ft2_ts_form \\\n", + "3131 0.140351 0.324561 -0.377193 0.368421 \n", + "\n", + " tar_psht_ts_form tar_psft_ts_form tar_vote1_ts_form \\\n", + "3131 -0.184211 -0.745614 -0.159116 \n", + "\n", + " tar_votex_ts_form tar_vote2_ts_form tar_elo1_ts_form \\\n", + "3131 0.057086 0.102029 1220.276661 \n", + "\n", + " tar_elo2_ts_form tar_oddsprob1_ts_form tar_oddsprobx_ts_form \\\n", + "3131 1288.538502 NaN NaN \n", + "\n", + " tar_oddsprob2_ts_form tar_drift1_ts_form tar_driftx_ts_form \\\n", + "3131 NaN NaN NaN \n", + "\n", + " tar_drift2_ts_form tar_graph1_ts_form tar_graph2_ts_form \\\n", + "3131 NaN -0.032186 0.032186 \n", + "\n", + " tar_possession1_ts_form tar_possession2_ts_form tar_shont1_ts_form \\\n", + "3131 -0.036491 0.062807 -0.015088 \n", + "\n", + " tar_shont2_ts_form tar_shofft1_ts_form tar_shofft2_ts_form \\\n", + "3131 0.000351 0.019964 -0.062311 \n", + "\n", + " tar_corners1_ts_form tar_corners2_ts_form tar_offsides1_ts_form \\\n", + "3131 -0.009784 -0.026316 0.021382 \n", + "\n", + " tar_offsides2_ts_form tar_fouls1_ts_form tar_fouls2_ts_form \\\n", + "3131 0.057018 0.013158 -0.058584 \n", + "\n", + " tar_cards1_ts_form tar_cards2_ts_form tar_gksaves1_ts_form \\\n", + "3131 0.008772 -0.022329 -0.005013 \n", + "\n", + " tar_gksaves2_ts_form tar_precision1_ts_form tar_precision2_ts_form \\\n", + "3131 -0.002506 -0.002644 -0.030285 \n", + "\n", + " opp_w1_ts_avg opp_wx_ts_avg opp_w2_ts_avg opp_ht1_ts_avg \\\n", + "3131 0.282051 0.102564 0.615385 0.358974 \n", + "\n", + " opp_ht2_ts_avg opp_ft1_ts_avg opp_ft2_ts_avg opp_psht_ts_avg \\\n", + "3131 0.846154 0.820513 1.717949 -0.487179 \n", + "\n", + " opp_psft_ts_avg opp_vote1_ts_avg opp_votex_ts_avg opp_vote2_ts_avg \\\n", + "3131 -0.897436 0.107007 0.26801 0.624984 \n", + "\n", + " opp_elo1_ts_avg opp_elo2_ts_avg opp_oddsprob1_ts_avg \\\n", + "3131 1306.206574 1390.033419 NaN \n", + "\n", + " opp_oddsprobx_ts_avg opp_oddsprob2_ts_avg opp_drift1_ts_avg \\\n", + "3131 NaN NaN NaN \n", + "\n", + " opp_driftx_ts_avg opp_drift2_ts_avg opp_graph1_ts_avg \\\n", + "3131 NaN NaN 0.566929 \n", + "\n", + " opp_graph2_ts_avg opp_possession1_ts_avg opp_possession2_ts_avg \\\n", + "3131 0.433071 0.421538 0.450256 \n", + "\n", + " opp_shont1_ts_avg opp_shont2_ts_avg opp_shofft1_ts_avg \\\n", + "3131 0.085128 0.148718 0.106985 \n", + "\n", + " opp_shofft2_ts_avg opp_corners1_ts_avg opp_corners2_ts_avg \\\n", + "3131 0.167109 0.142012 0.205128 \n", + "\n", + " opp_offsides1_ts_avg opp_offsides2_ts_avg opp_fouls1_ts_avg \\\n", + "3131 0.105769 0.102564 0.195055 \n", + "\n", + " opp_fouls2_ts_avg opp_cards1_ts_avg opp_cards2_ts_avg \\\n", + "3131 0.20467 0.153846 0.097902 \n", + "\n", + " opp_gksaves1_ts_avg opp_gksaves2_ts_avg opp_precision1_ts_avg \\\n", + "3131 0.120879 0.06105 0.087783 \n", + "\n", + " opp_precision2_ts_avg opp_w1_ts_form opp_wx_ts_form opp_w2_ts_form \\\n", + "3131 0.077286 -0.264151 -0.311321 0.575472 \n", + "\n", + " opp_ht1_ts_form opp_ht2_ts_form opp_ft1_ts_form opp_ft2_ts_form \\\n", + "3131 -0.147799 0.264151 -0.075472 0.490566 \n", + "\n", + " opp_psht_ts_form opp_psft_ts_form opp_vote1_ts_form \\\n", + "3131 -0.41195 -0.566038 -0.156876 \n", + "\n", + " opp_votex_ts_form opp_vote2_ts_form opp_elo1_ts_form \\\n", + "3131 0.001644 0.155233 NaN \n", + "\n", + " opp_elo2_ts_form opp_oddsprob1_ts_form opp_oddsprobx_ts_form \\\n", + "3131 NaN NaN NaN \n", + "\n", + " opp_oddsprob2_ts_form opp_drift1_ts_form opp_driftx_ts_form \\\n", + "3131 NaN NaN NaN \n", + "\n", + " opp_drift2_ts_form opp_graph1_ts_form opp_graph2_ts_form \\\n", + "3131 NaN 0.013689 0.005179 \n", + "\n", + " opp_possession1_ts_form opp_possession2_ts_form opp_shont1_ts_form \\\n", + "3131 0.06544 0.038333 -0.024277 \n", + "\n", + " opp_shont2_ts_form opp_shofft1_ts_form opp_shofft2_ts_form \\\n", + "3131 -0.011321 0.014314 0.005205 \n", + "\n", + " opp_corners1_ts_form opp_corners2_ts_form opp_offsides1_ts_form \\\n", + "3131 0.023585 -0.031567 0.07842 \n", + "\n", + " opp_offsides2_ts_form opp_fouls1_ts_form opp_fouls2_ts_form \\\n", + "3131 -0.024568 0.074012 0.054638 \n", + "\n", + " opp_cards1_ts_form opp_cards2_ts_form opp_gksaves1_ts_form \\\n", + "3131 0.114637 0.061464 -0.027254 \n", + "\n", + " opp_gksaves2_ts_form opp_precision1_ts_form opp_precision2_ts_form \\\n", + "3131 0.004642 0.026713 0.023428 \n", + "\n", + " w1_tt_avg w2_tt_avg diff_w_tt_avg w1_tt_form w2_tt_form \\\n", + "3131 0.518943 0.273071 0.245872 0.19394 -0.244214 \n", + "\n", + " diff_w_tt_form w1_ts_avg w2_ts_avg diff_w_ts_avg w1_ts_form \\\n", + "3131 0.438154 0.618668 0.220294 0.398374 0.125455 \n", + "\n", + " w2_ts_form diff_w_ts_form ht1_tt_avg ht2_tt_avg diff_ht_tt_avg \\\n", + "3131 -0.184707 0.310162 0.773727 0.490586 0.28314 \n", + "\n", + " ht1_tt_form ht2_tt_form diff_ht_tt_form ht1_ts_avg ht2_ts_avg \\\n", + "3131 -0.182032 -0.308989 0.126957 0.892589 0.368512 \n", + "\n", + " diff_ht_ts_avg ht1_ts_form ht2_ts_form diff_ht_ts_form ft1_tt_avg \\\n", + "3131 0.524078 0.202251 0.088381 0.11387 1.700984 \n", + "\n", + " ft2_tt_avg diff_ft_tt_avg ft1_tt_form ft2_tt_form diff_ft_tt_form \\\n", + "3131 1.091493 0.609491 -0.242966 -0.53462 0.291655 \n", + "\n", + " ft1_ts_avg ft2_ts_avg diff_ft_ts_avg ft1_ts_form ft2_ts_form \\\n", + "3131 1.852877 0.864525 0.988352 0.056687 0.146475 \n", + "\n", + " diff_ft_ts_form graph1_tt_avg graph2_tt_avg diff_graph_tt_avg \\\n", + "3131 -0.089788 0.492255 0.487509 0.004746 \n", + "\n", + " graph1_tt_form graph2_tt_form diff_graph_tt_form graph1_ts_avg \\\n", + "3131 0.046235 0.020029 0.026206 0.503135 \n", + "\n", + " graph2_ts_avg diff_graph_ts_avg graph1_ts_form graph2_ts_form \\\n", + "3131 0.481621 0.021514 -0.013503 0.022937 \n", + "\n", + " diff_graph_ts_form possession1_tt_avg possession2_tt_avg \\\n", + "3131 -0.036441 0.498346 0.408521 \n", + "\n", + " diff_possession_tt_avg possession1_tt_form possession2_tt_form \\\n", + "3131 0.089825 0.038273 0.007967 \n", + "\n", + " diff_possession_tt_form possession1_ts_avg possession2_ts_avg \\\n", + "3131 0.030305 0.489061 0.410251 \n", + "\n", + " diff_possession_ts_avg possession1_ts_form possession2_ts_form \\\n", + "3131 0.07881 0.000921 0.064124 \n", + "\n", + " diff_possession_ts_form shont1_tt_avg shont2_tt_avg \\\n", + "3131 -0.063203 0.178319 0.120234 \n", + "\n", + " diff_shont_tt_avg shont1_tt_form shont2_tt_form diff_shont_tt_form \\\n", + "3131 0.058085 -0.019892 -0.009267 -0.010625 \n", + "\n", + " shont1_ts_avg shont2_ts_avg diff_shont_ts_avg shont1_ts_form \\\n", + "3131 0.186798 0.102198 0.0846 -0.013204 \n", + "\n", + " shont2_ts_form diff_shont_ts_form shofft1_tt_avg shofft2_tt_avg \\\n", + "3131 -0.011963 -0.001241 0.169226 0.123921 \n", + "\n", + " diff_shofft_tt_avg shofft1_tt_form shofft2_tt_form \\\n", + "3131 0.045305 -0.044588 -0.032708 \n", + "\n", + " diff_shofft_tt_form shofft1_ts_avg shofft2_ts_avg diff_shofft_ts_avg \\\n", + "3131 -0.01188 0.175333 0.113627 0.061706 \n", + "\n", + " shofft1_ts_form shofft2_ts_form diff_shofft_ts_form corners1_tt_avg \\\n", + "3131 0.012584 -0.023999 0.036583 0.20928 \n", + "\n", + " corners2_tt_avg diff_corners_tt_avg corners1_tt_form \\\n", + "3131 0.162573 0.046707 -0.027811 \n", + "\n", + " corners2_tt_form diff_corners_tt_form corners1_ts_avg \\\n", + "3131 -0.028184 0.000373 0.221701 \n", + "\n", + " corners2_ts_avg diff_corners_ts_avg corners1_ts_form \\\n", + "3131 0.148515 0.073186 -0.020676 \n", + "\n", + " corners2_ts_form diff_corners_ts_form offsides1_tt_avg \\\n", + "3131 -0.001365 -0.01931 0.112859 \n", + "\n", + " offsides2_tt_avg diff_offsides_tt_avg offsides1_tt_form \\\n", + "3131 0.112422 0.000438 0.074213 \n", + "\n", + " offsides2_tt_form diff_offsides_tt_form offsides1_ts_avg \\\n", + "3131 -0.051399 0.125612 0.114354 \n", + "\n", + " offsides2_ts_avg diff_offsides_ts_avg offsides1_ts_form \\\n", + "3131 0.104333 0.010021 -0.001593 \n", + "\n", + " offsides2_ts_form diff_offsides_ts_form fouls1_tt_avg fouls2_tt_avg \\\n", + "3131 0.067719 -0.069312 0.17784 0.174525 \n", + "\n", + " diff_fouls_tt_avg fouls1_tt_form fouls2_tt_form diff_fouls_tt_form \\\n", + "3131 0.003315 0.034254 0.052985 -0.018731 \n", + "\n", + " fouls1_ts_avg fouls2_ts_avg diff_fouls_ts_avg fouls1_ts_form \\\n", + "3131 0.174798 0.183111 -0.008313 0.033898 \n", + "\n", + " fouls2_ts_form diff_fouls_ts_form cards1_tt_avg cards2_tt_avg \\\n", + "3131 0.007714 0.026184 0.128092 0.157539 \n", + "\n", + " diff_cards_tt_avg cards1_tt_form cards2_tt_form diff_cards_tt_form \\\n", + "3131 -0.029447 0.051832 -0.006133 0.057965 \n", + "\n", + " cards1_ts_avg cards2_ts_avg diff_cards_ts_avg cards1_ts_form \\\n", + "3131 0.114638 0.170327 -0.055688 0.035118 \n", + "\n", + " cards2_ts_form diff_cards_ts_form gksaves1_tt_avg gksaves2_tt_avg \\\n", + "3131 0.046154 -0.011036 0.095944 0.143079 \n", + "\n", + " diff_gksaves_tt_avg gksaves1_tt_form gksaves2_tt_form \\\n", + "3131 -0.047135 0.010721 -0.004482 \n", + "\n", + " diff_gksaves_tt_form gksaves1_ts_avg gksaves2_ts_avg \\\n", + "3131 0.015203 0.079741 0.150306 \n", + "\n", + " diff_gksaves_ts_avg gksaves1_ts_form gksaves2_ts_form \\\n", + "3131 -0.070565 -0.000185 -0.01488 \n", + "\n", + " diff_gksaves_ts_form precision1_tt_avg precision2_tt_avg \\\n", + "3131 0.014695 0.080427 0.079025 \n", + "\n", + " diff_precision_tt_avg precision1_tt_form precision2_tt_form \\\n", + "3131 0.001402 -0.017362 -0.026945 \n", + "\n", + " diff_precision_tt_form precision1_ts_avg precision2_ts_avg \\\n", + "3131 0.009583 0.069351 0.082131 \n", + "\n", + " diff_precision_ts_avg precision1_ts_form precision2_ts_form \\\n", + "3131 -0.01278 0.010392 -0.001786 \n", + "\n", + " diff_precision_ts_form wx_tt_avg wx_tt_form wx_ts_avg wx_ts_form \\\n", + "3131 0.012178 0.207986 0.050274 0.161038 0.059252 \n", + "\n", + " psht_tt_avg psht_tt_form psht_ts_avg psht_ts_form psft_tt_avg \\\n", + "3131 0.08561 -0.314991 0.036898 -0.29808 0.128009 \n", + "\n", + " psft_tt_form psft_ts_avg psft_ts_form diff_vote12 diff_elo diff_op \n", + "3131 -0.693364 0.090916 -0.655826 0.701756 NaN NaN " ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
dsmidtidw1_ta_avgwx_ta_avgw2_ta_avght1_ta_avght2_ta_avgft1_ta_avgft2_ta_avgps_ht_ta_avgps_ft_ta_avgvote1_ta_avgvotex_ta_avgvote2_ta_avgelo1_ta_avgelo2_ta_avgoddsprob_home_ta_avgoddsprob_draw_ta_avgoddsprob_away_ta_avgdrift_home_ta_avgdrift_away_ta_avgdrift_draw_ta_avg
677892021-01-10 15:00:00+00:0087362893060.270270.2432430.4864860.5585590.9189191.2162161.774775-0.36036-0.5585590.2383120.1972490.5644391024.5208631114.002228NaNNaNNaNNaNNaNNaN
\n
" + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
sidecountryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnerodds_awayodds_drawodds_homecountry_idround.1ds.1deform1form2vote1votexvote2pop_relo1elo2oddsprob1oddsprobxoddsprob2drift1drift2driftxtar_w1_tt_avgtar_wx_tt_avgtar_w2_tt_avgtar_ht1_tt_avgtar_ht2_tt_avgtar_ft1_tt_avgtar_ft2_tt_avgtar_psht_tt_avgtar_psft_tt_avgtar_vote1_tt_avgtar_votex_tt_avgtar_vote2_tt_avgtar_elo1_tt_avgtar_elo2_tt_avgtar_oddsprob1_tt_avgtar_oddsprobx_tt_avgtar_oddsprob2_tt_avgtar_drift1_tt_avgtar_driftx_tt_avgtar_drift2_tt_avgtar_graph1_tt_avgtar_graph2_tt_avgtar_possession1_tt_avgtar_possession2_tt_avgtar_shont1_tt_avgtar_shont2_tt_avgtar_shofft1_tt_avgtar_shofft2_tt_avgtar_corners1_tt_avgtar_corners2_tt_avgtar_offsides1_tt_avgtar_offsides2_tt_avgtar_fouls1_tt_avgtar_fouls2_tt_avgtar_cards1_tt_avgtar_cards2_tt_avgtar_gksaves1_tt_avgtar_gksaves2_tt_avgtar_precision1_tt_avgtar_precision2_tt_avgtar_w1_tt_formtar_wx_tt_formtar_w2_tt_formtar_ht1_tt_formtar_ht2_tt_formtar_ft1_tt_formtar_ft2_tt_formtar_psht_tt_formtar_psft_tt_formtar_vote1_tt_formtar_votex_tt_formtar_vote2_tt_formtar_elo1_tt_formtar_elo2_tt_formtar_oddsprob1_tt_formtar_oddsprobx_tt_formtar_oddsprob2_tt_formtar_drift1_tt_formtar_driftx_tt_formtar_drift2_tt_formtar_graph1_tt_formtar_graph2_tt_formtar_possession1_tt_formtar_possession2_tt_formtar_shont1_tt_formtar_shont2_tt_formtar_shofft1_tt_formtar_shofft2_tt_formtar_corners1_tt_formtar_corners2_tt_formtar_offsides1_tt_formtar_offsides2_tt_formtar_fouls1_tt_formtar_fouls2_tt_formtar_cards1_tt_formtar_cards2_tt_formtar_gksaves1_tt_formtar_gksaves2_tt_formtar_precision1_tt_formtar_precision2_tt_formopp_w1_tt_avgopp_wx_tt_avgopp_w2_tt_avgopp_ht1_tt_avgopp_ht2_tt_avgopp_ft1_tt_avgopp_ft2_tt_avgopp_psht_tt_avgopp_psft_tt_avgopp_vote1_tt_avgopp_votex_tt_avgopp_vote2_tt_avgopp_elo1_tt_avgopp_elo2_tt_avgopp_oddsprob1_tt_avgopp_oddsprobx_tt_avgopp_oddsprob2_tt_avgopp_drift1_tt_avgopp_driftx_tt_avgopp_drift2_tt_avgopp_graph1_tt_avgopp_graph2_tt_avgopp_possession1_tt_avgopp_possession2_tt_avgopp_shont1_tt_avgopp_shont2_tt_avgopp_shofft1_tt_avgopp_shofft2_tt_avgopp_corners1_tt_avgopp_corners2_tt_avgopp_offsides1_tt_avgopp_offsides2_tt_avgopp_fouls1_tt_avgopp_fouls2_tt_avgopp_cards1_tt_avgopp_cards2_tt_avgopp_gksaves1_tt_avgopp_gksaves2_tt_avgopp_precision1_tt_avgopp_precision2_tt_avgopp_w1_tt_formopp_wx_tt_formopp_w2_tt_formopp_ht1_tt_formopp_ht2_tt_formopp_ft1_tt_formopp_ft2_tt_formopp_psht_tt_formopp_psft_tt_formopp_vote1_tt_formopp_votex_tt_formopp_vote2_tt_formopp_elo1_tt_formopp_elo2_tt_formopp_oddsprob1_tt_formopp_oddsprobx_tt_formopp_oddsprob2_tt_formopp_drift1_tt_formopp_driftx_tt_formopp_drift2_tt_formopp_graph1_tt_formopp_graph2_tt_formopp_possession1_tt_formopp_possession2_tt_formopp_shont1_tt_formopp_shont2_tt_formopp_shofft1_tt_formopp_shofft2_tt_formopp_corners1_tt_formopp_corners2_tt_formopp_offsides1_tt_formopp_offsides2_tt_formopp_fouls1_tt_formopp_fouls2_tt_formopp_cards1_tt_formopp_cards2_tt_formopp_gksaves1_tt_formopp_gksaves2_tt_formopp_precision1_tt_formopp_precision2_tt_formtar_w1_ts_avgtar_wx_ts_avgtar_w2_ts_avgtar_ht1_ts_avgtar_ht2_ts_avgtar_ft1_ts_avgtar_ft2_ts_avgtar_psht_ts_avgtar_psft_ts_avgtar_vote1_ts_avgtar_votex_ts_avgtar_vote2_ts_avgtar_elo1_ts_avgtar_elo2_ts_avgtar_oddsprob1_ts_avgtar_oddsprobx_ts_avgtar_oddsprob2_ts_avgtar_drift1_ts_avgtar_driftx_ts_avgtar_drift2_ts_avgtar_graph1_ts_avgtar_graph2_ts_avgtar_possession1_ts_avgtar_possession2_ts_avgtar_shont1_ts_avgtar_shont2_ts_avgtar_shofft1_ts_avgtar_shofft2_ts_avgtar_corners1_ts_avgtar_corners2_ts_avgtar_offsides1_ts_avgtar_offsides2_ts_avgtar_fouls1_ts_avgtar_fouls2_ts_avgtar_cards1_ts_avgtar_cards2_ts_avgtar_gksaves1_ts_avgtar_gksaves2_ts_avgtar_precision1_ts_avgtar_precision2_ts_avgtar_w1_ts_formtar_wx_ts_formtar_w2_ts_formtar_ht1_ts_formtar_ht2_ts_formtar_ft1_ts_formtar_ft2_ts_formtar_psht_ts_formtar_psft_ts_formtar_vote1_ts_formtar_votex_ts_formtar_vote2_ts_formtar_elo1_ts_formtar_elo2_ts_formtar_oddsprob1_ts_formtar_oddsprobx_ts_formtar_oddsprob2_ts_formtar_drift1_ts_formtar_driftx_ts_formtar_drift2_ts_formtar_graph1_ts_formtar_graph2_ts_formtar_possession1_ts_formtar_possession2_ts_formtar_shont1_ts_formtar_shont2_ts_formtar_shofft1_ts_formtar_shofft2_ts_formtar_corners1_ts_formtar_corners2_ts_formtar_offsides1_ts_formtar_offsides2_ts_formtar_fouls1_ts_formtar_fouls2_ts_formtar_cards1_ts_formtar_cards2_ts_formtar_gksaves1_ts_formtar_gksaves2_ts_formtar_precision1_ts_formtar_precision2_ts_formopp_w1_ts_avgopp_wx_ts_avgopp_w2_ts_avgopp_ht1_ts_avgopp_ht2_ts_avgopp_ft1_ts_avgopp_ft2_ts_avgopp_psht_ts_avgopp_psft_ts_avgopp_vote1_ts_avgopp_votex_ts_avgopp_vote2_ts_avgopp_elo1_ts_avgopp_elo2_ts_avgopp_oddsprob1_ts_avgopp_oddsprobx_ts_avgopp_oddsprob2_ts_avgopp_drift1_ts_avgopp_driftx_ts_avgopp_drift2_ts_avgopp_graph1_ts_avgopp_graph2_ts_avgopp_possession1_ts_avgopp_possession2_ts_avgopp_shont1_ts_avgopp_shont2_ts_avgopp_shofft1_ts_avgopp_shofft2_ts_avgopp_corners1_ts_avgopp_corners2_ts_avgopp_offsides1_ts_avgopp_offsides2_ts_avgopp_fouls1_ts_avgopp_fouls2_ts_avgopp_cards1_ts_avgopp_cards2_ts_avgopp_gksaves1_ts_avgopp_gksaves2_ts_avgopp_precision1_ts_avgopp_precision2_ts_avgopp_w1_ts_formopp_wx_ts_formopp_w2_ts_formopp_ht1_ts_formopp_ht2_ts_formopp_ft1_ts_formopp_ft2_ts_formopp_psht_ts_formopp_psft_ts_formopp_vote1_ts_formopp_votex_ts_formopp_vote2_ts_formopp_elo1_ts_formopp_elo2_ts_formopp_oddsprob1_ts_formopp_oddsprobx_ts_formopp_oddsprob2_ts_formopp_drift1_ts_formopp_driftx_ts_formopp_drift2_ts_formopp_graph1_ts_formopp_graph2_ts_formopp_possession1_ts_formopp_possession2_ts_formopp_shont1_ts_formopp_shont2_ts_formopp_shofft1_ts_formopp_shofft2_ts_formopp_corners1_ts_formopp_corners2_ts_formopp_offsides1_ts_formopp_offsides2_ts_formopp_fouls1_ts_formopp_fouls2_ts_formopp_cards1_ts_formopp_cards2_ts_formopp_gksaves1_ts_formopp_gksaves2_ts_formopp_precision1_ts_formopp_precision2_ts_formw1_tt_avgw2_tt_avgdiff_w_tt_avgw1_tt_formw2_tt_formdiff_w_tt_formw1_ts_avgw2_ts_avgdiff_w_ts_avgw1_ts_formw2_ts_formdiff_w_ts_formht1_tt_avght2_tt_avgdiff_ht_tt_avght1_tt_formht2_tt_formdiff_ht_tt_formht1_ts_avght2_ts_avgdiff_ht_ts_avght1_ts_formht2_ts_formdiff_ht_ts_formft1_tt_avgft2_tt_avgdiff_ft_tt_avgft1_tt_formft2_tt_formdiff_ft_tt_formft1_ts_avgft2_ts_avgdiff_ft_ts_avgft1_ts_formft2_ts_formdiff_ft_ts_formgraph1_tt_avggraph2_tt_avgdiff_graph_tt_avggraph1_tt_formgraph2_tt_formdiff_graph_tt_formgraph1_ts_avggraph2_ts_avgdiff_graph_ts_avggraph1_ts_formgraph2_ts_formdiff_graph_ts_formpossession1_tt_avgpossession2_tt_avgdiff_possession_tt_avgpossession1_tt_formpossession2_tt_formdiff_possession_tt_formpossession1_ts_avgpossession2_ts_avgdiff_possession_ts_avgpossession1_ts_formpossession2_ts_formdiff_possession_ts_formshont1_tt_avgshont2_tt_avgdiff_shont_tt_avgshont1_tt_formshont2_tt_formdiff_shont_tt_formshont1_ts_avgshont2_ts_avgdiff_shont_ts_avgshont1_ts_formshont2_ts_formdiff_shont_ts_formshofft1_tt_avgshofft2_tt_avgdiff_shofft_tt_avgshofft1_tt_formshofft2_tt_formdiff_shofft_tt_formshofft1_ts_avgshofft2_ts_avgdiff_shofft_ts_avgshofft1_ts_formshofft2_ts_formdiff_shofft_ts_formcorners1_tt_avgcorners2_tt_avgdiff_corners_tt_avgcorners1_tt_formcorners2_tt_formdiff_corners_tt_formcorners1_ts_avgcorners2_ts_avgdiff_corners_ts_avgcorners1_ts_formcorners2_ts_formdiff_corners_ts_formoffsides1_tt_avgoffsides2_tt_avgdiff_offsides_tt_avgoffsides1_tt_formoffsides2_tt_formdiff_offsides_tt_formoffsides1_ts_avgoffsides2_ts_avgdiff_offsides_ts_avgoffsides1_ts_formoffsides2_ts_formdiff_offsides_ts_formfouls1_tt_avgfouls2_tt_avgdiff_fouls_tt_avgfouls1_tt_formfouls2_tt_formdiff_fouls_tt_formfouls1_ts_avgfouls2_ts_avgdiff_fouls_ts_avgfouls1_ts_formfouls2_ts_formdiff_fouls_ts_formcards1_tt_avgcards2_tt_avgdiff_cards_tt_avgcards1_tt_formcards2_tt_formdiff_cards_tt_formcards1_ts_avgcards2_ts_avgdiff_cards_ts_avgcards1_ts_formcards2_ts_formdiff_cards_ts_formgksaves1_tt_avggksaves2_tt_avgdiff_gksaves_tt_avggksaves1_tt_formgksaves2_tt_formdiff_gksaves_tt_formgksaves1_ts_avggksaves2_ts_avgdiff_gksaves_ts_avggksaves1_ts_formgksaves2_ts_formdiff_gksaves_ts_formprecision1_tt_avgprecision2_tt_avgdiff_precision_tt_avgprecision1_tt_formprecision2_tt_formdiff_precision_tt_formprecision1_ts_avgprecision2_ts_avgdiff_precision_ts_avgprecision1_ts_formprecision2_ts_formdiff_precision_ts_formwx_tt_avgwx_tt_formwx_ts_avgwx_ts_formpsht_tt_avgpsht_tt_formpsht_ts_avgpsht_ts_formpsft_tt_avgpsft_tt_formpsft_ts_avgpsft_ts_formdiff_vote12diff_elodiff_op
31311englandfa-cup9278377102021-01-24 12:00:00+00:00chelsealuton town45231003.01.0homeNaNNaNNaN15102021-01-24 12:00:00+00:002021-01-2414230.7772330.147290.0754774.0NaNNaNNaNNaNNaNNaNNaNNaN0.568750.193750.23750.843750.4751.8093751.0718750.368750.73750.6377110.1532230.2090651615.5046521473.781758NaNNaNNaNNaNNaNNaN0.5206050.451270.5245940.3879060.1976250.1278750.1732760.126940.2110580.1542070.1269530.102930.1449220.161440.1372160.1803980.102530.155060.0696830.0736990.0170940.025641-0.042735-0.1880340.0-0.598291-0.196581-0.188034-0.4017090.1427830.045273-0.18805699.44594696.3338380.2337440.1088010.04207-0.032167-0.0028990.0522070.0794820.0230820.0353850.015897-0.000684-0.026325-0.075744-0.0391980.011506-0.04931-0.032051-0.0608970.0813490.0700550.083916-0.055167-0.0256410.02849-0.000768-0.0201540.3086420.2222220.4691360.5061730.7037041.1111111.592593-0.197531-0.4814810.2286080.278970.4924221239.4017891338.833638NaNNaNNaNNaNNaNNaN0.5237480.4639060.4291360.4720990.1125930.1590120.1209030.1651770.170940.2075020.1219140.0987650.187610.2107580.134680.1189670.1310990.0893590.084350.09117-0.4456930.0749060.370787-0.617978-0.17603-0.8726590.11236-0.441948-0.985019-0.050833-0.003560.05439345.99404-524.523556NaNNaNNaNNaNNaNNaN0.0169750.0129870.0000370.0411610.00779-0.039101-0.026217-0.013431-0.007058-0.067128-0.0419010.1804780.035915-0.0128410.0429010.019748-0.0374530.047084-0.033736-0.0339550.6219510.2195120.1585370.9390240.3780491.9878050.9085370.5609761.0792680.6656480.1477630.1865891576.0963861450.743095NaNNaNNaNNaNNaNNaN0.5731990.3963130.5278660.3989630.2248780.1192680.1835580.1202690.2382740.1550190.1261430.1028960.1449260.1711670.1313750.1868070.0984320.1797330.0614170.07648-0.3245610.429825-0.1052630.1403510.324561-0.3771930.368421-0.184211-0.745614-0.1591160.0570860.1020291220.2766611288.538502NaNNaNNaNNaNNaNNaN-0.0321860.032186-0.0364910.062807-0.0150880.0003510.019964-0.062311-0.009784-0.0263160.0213820.0570180.013158-0.0585840.008772-0.022329-0.005013-0.002506-0.002644-0.0302850.2820510.1025640.6153850.3589740.8461540.8205131.717949-0.487179-0.8974360.1070070.268010.6249841306.2065741390.033419NaNNaNNaNNaNNaNNaN0.5669290.4330710.4215380.4502560.0851280.1487180.1069850.1671090.1420120.2051280.1057690.1025640.1950550.204670.1538460.0979020.1208790.061050.0877830.077286-0.264151-0.3113210.575472-0.1477990.264151-0.0754720.490566-0.41195-0.566038-0.1568760.0016440.155233NaNNaNNaNNaNNaNNaNNaNNaN0.0136890.0051790.065440.038333-0.024277-0.0113210.0143140.0052050.023585-0.0315670.07842-0.0245680.0740120.0546380.1146370.061464-0.0272540.0046420.0267130.0234280.5189430.2730710.2458720.19394-0.2442140.4381540.6186680.2202940.3983740.125455-0.1847070.3101620.7737270.4905860.28314-0.182032-0.3089890.1269570.8925890.3685120.5240780.2022510.0883810.113871.7009841.0914930.609491-0.242966-0.534620.2916551.8528770.8645250.9883520.0566870.146475-0.0897880.4922550.4875090.0047460.0462350.0200290.0262060.5031350.4816210.021514-0.0135030.022937-0.0364410.4983460.4085210.0898250.0382730.0079670.0303050.4890610.4102510.078810.0009210.064124-0.0632030.1783190.1202340.058085-0.019892-0.009267-0.0106250.1867980.1021980.0846-0.013204-0.011963-0.0012410.1692260.1239210.045305-0.044588-0.032708-0.011880.1753330.1136270.0617060.012584-0.0239990.0365830.209280.1625730.046707-0.027811-0.0281840.0003730.2217010.1485150.073186-0.020676-0.001365-0.019310.1128590.1124220.0004380.074213-0.0513990.1256120.1143540.1043330.010021-0.0015930.067719-0.0693120.177840.1745250.0033150.0342540.052985-0.0187310.1747980.183111-0.0083130.0338980.0077140.0261840.1280920.157539-0.0294470.051832-0.0061330.0579650.1146380.170327-0.0556880.0351180.046154-0.0110360.0959440.143079-0.0471350.010721-0.0044820.0152030.0797410.150306-0.070565-0.000185-0.014880.0146950.0804270.0790250.001402-0.017362-0.0269450.0095830.0693510.082131-0.012780.010392-0.0017860.0121780.2079860.0502740.1610380.0592520.08561-0.3149910.036898-0.298080.128009-0.6933640.090916-0.6558260.701756NaNNaN
\n
" }, "metadata": {}, - "execution_count": 68 + "execution_count": 79 } ], "source": [ - "df_away[df_away.mid==8736289]" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "df_.to_csv('data/stats_generated.csv', index=False)" + "df_last[(df_last['side']==1) & (df_last['tid1']==4)]" ] }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 80, "metadata": {}, - "outputs": [], - "source": [ - "df=pd.read_csv('data/stats_generated.csv', index_col=None)\n", - "df=df.dropna()" - ] - }, - { + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "ssion1_tt_avg \\\n", + "3188 0.521452 0.436687 0.364884 \n", + "\n", + " tar_possession2_tt_avg tar_shont1_tt_avg tar_shont2_tt_avg \\\n", + "3188 0.495581 0.118326 0.168744 \n", + "\n", + " tar_shofft1_tt_avg tar_shofft2_tt_avg tar_corners1_tt_avg \\\n", + "3188 0.122855 0.168404 0.142218 \n", + "\n", + " tar_corners2_tt_avg tar_offsides1_tt_avg tar_offsides2_tt_avg \\\n", + "3188 0.211628 0.136628 0.084884 \n", + "\n", + " tar_fouls1_tt_avg tar_fouls2_tt_avg tar_cards1_tt_avg \\\n", + "3188 0.151661 0.15814 0.149683 \n", + "\n", + " tar_cards2_tt_avg tar_gksaves1_tt_avg tar_gksaves2_tt_avg \\\n", + "3188 0.124313 0.143079 0.096124 \n", + "\n", + " tar_precision1_tt_avg tar_precision2_tt_avg tar_w1_tt_form \\\n", + "3188 0.07524 0.081294 -0.341463 \n", + "\n", + " tar_wx_tt_form tar_w2_tt_form tar_ht1_tt_form tar_ht2_tt_form \\\n", + "3188 0.422764 -0.081301 -0.252033 -0.276423 \n", + "\n", + " tar_ft1_tt_form tar_ft2_tt_form tar_psht_tt_form tar_psft_tt_form \\\n", + "3188 -0.837398 -0.626016 0.02439 -0.211382 \n", + "\n", + " tar_vote1_tt_form tar_votex_tt_form tar_vote2_tt_form \\\n", + "3188 0.027136 0.010521 -0.037656 \n", + "\n", + " tar_elo1_tt_form tar_elo2_tt_form tar_oddsprob1_tt_form \\\n", + "3188 NaN 284.184215 NaN \n", + "\n", + " tar_oddsprobx_tt_form tar_oddsprob2_tt_form tar_drift1_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_driftx_tt_form tar_drift2_tt_form tar_graph1_tt_form \\\n", + "3188 NaN NaN -0.129159 \n", + "\n", + " tar_graph2_tt_form tar_possession1_tt_form tar_possession2_tt_form \\\n", + "3188 -0.106613 NaN NaN \n", + "\n", + " tar_shont1_tt_form tar_shont2_tt_form tar_shofft1_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_shofft2_tt_form tar_corners1_tt_form tar_corners2_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_offsides1_tt_form tar_offsides2_tt_form tar_fouls1_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_fouls2_tt_form tar_cards1_tt_form tar_cards2_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_gksaves1_tt_form tar_gksaves2_tt_form tar_precision1_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_precision2_tt_form opp_w1_tt_avg opp_wx_tt_avg opp_w2_tt_avg \\\n", + "3188 NaN 0.415094 0.201258 0.383648 \n", + "\n", + " opp_ht1_tt_avg opp_ht2_tt_avg opp_ft1_tt_avg opp_ft2_tt_avg \\\n", + "3188 0.559748 0.610063 1.27044 1.339623 \n", + "\n", + " opp_psht_tt_avg opp_psft_tt_avg opp_vote1_tt_avg opp_votex_tt_avg \\\n", + "3188 -0.050314 -0.069182 0.396243 0.237777 \n", + "\n", + " opp_vote2_tt_avg opp_elo1_tt_avg opp_elo2_tt_avg \\\n", + "3188 0.36598 1491.36716 1529.075142 \n", + "\n", + " opp_oddsprob1_tt_avg opp_oddsprobx_tt_avg opp_oddsprob2_tt_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " opp_drift1_tt_avg opp_driftx_tt_avg opp_drift2_tt_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " opp_graph1_tt_avg opp_graph2_tt_avg opp_possession1_tt_avg \\\n", + "3188 0.541453 0.458547 0.512013 \n", + "\n", + " opp_possession2_tt_avg opp_shont1_tt_avg opp_shont2_tt_avg \\\n", + "3188 0.399937 0.162013 0.161258 \n", + "\n", + " opp_shofft1_tt_avg opp_shofft2_tt_avg opp_corners1_tt_avg \\\n", + "3188 0.165691 0.142919 0.176101 \n", + "\n", + " opp_corners2_tt_avg opp_offsides1_tt_avg opp_offsides2_tt_avg \\\n", + "3188 0.176826 0.09945 0.15173 \n", + "\n", + " opp_fouls1_tt_avg opp_fouls2_tt_avg opp_cards1_tt_avg \\\n", + "3188 0.177224 0.174753 0.16295 \n", + "\n", + " opp_cards2_tt_avg opp_gksaves1_tt_avg opp_gksaves2_tt_avg \\\n", + "3188 0.148085 0.134172 0.133573 \n", + "\n", + " opp_precision1_tt_avg opp_precision2_tt_avg opp_w1_tt_form \\\n", + "3188 0.076053 0.074065 0.684211 \n", + "\n", + " opp_wx_tt_form opp_w2_tt_form opp_ht1_tt_form opp_ht2_tt_form \\\n", + "3188 -0.210526 -0.473684 0.491228 -0.192982 \n", + "\n", + " opp_ft1_tt_form opp_ft2_tt_form opp_psht_tt_form opp_psft_tt_form \\\n", + "3188 0.526316 -1.105263 0.684211 1.631579 \n", + "\n", + " opp_vote1_tt_form opp_votex_tt_form opp_vote2_tt_form \\\n", + "3188 0.032299 0.101691 -0.13399 \n", + "\n", + " opp_elo1_tt_form opp_elo2_tt_form opp_oddsprob1_tt_form \\\n", + "3188 -31.964004 -77.311984 NaN \n", + "\n", + " opp_oddsprobx_tt_form opp_oddsprob2_tt_form opp_drift1_tt_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " opp_driftx_tt_form opp_drift2_tt_form opp_graph1_tt_form \\\n", + "3188 NaN NaN -0.011559 \n", + "\n", + " opp_graph2_tt_form opp_possession1_tt_form opp_possession2_tt_form \\\n", + "3188 0.046647 0.031579 0.038596 \n", + "\n", + " opp_shont1_tt_form opp_shont2_tt_form opp_shofft1_tt_form \\\n", + "3188 -0.030877 -0.06807 -0.030853 \n", + "\n", + " opp_shofft2_tt_form opp_corners1_tt_form opp_corners2_tt_form \\\n", + "3188 0.098004 -0.083671 -0.029015 \n", + "\n", + " opp_offsides1_tt_form opp_offsides2_tt_form opp_fouls1_tt_form \\\n", + "3188 -0.060307 -0.013158 0.118734 \n", + "\n", + " opp_fouls2_tt_form opp_cards1_tt_form opp_cards2_tt_form \\\n", + "3188 0.191416 -0.08453 0.154705 \n", + "\n", + " opp_gksaves1_tt_form opp_gksaves2_tt_form opp_precision1_tt_form \\\n", + "3188 -0.046784 -0.033417 0.120164 \n", + "\n", + " opp_precision2_tt_form tar_w1_ts_avg tar_wx_ts_avg tar_w2_ts_avg \\\n", + "3188 -0.015264 0.254545 0.263636 0.481818 \n", + "\n", + " tar_ht1_ts_avg tar_ht2_ts_avg tar_ft1_ts_avg tar_ft2_ts_avg \\\n", + "3188 0.390909 0.709091 0.9 1.545455 \n", + "\n", + " tar_psht_ts_avg tar_psft_ts_avg tar_vote1_ts_avg tar_votex_ts_avg \\\n", + "3188 -0.318182 -0.645455 0.181753 0.20534 \n", + "\n", + " tar_vote2_ts_avg tar_elo1_ts_avg tar_elo2_ts_avg \\\n", + "3188 0.612907 1607.161152 1642.881127 \n", + "\n", + " tar_oddsprob1_ts_avg tar_oddsprobx_ts_avg tar_oddsprob2_ts_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_drift1_ts_avg tar_driftx_ts_avg tar_drift2_ts_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_graph1_ts_avg tar_graph2_ts_avg tar_possession1_ts_avg \\\n", + "3188 0.564065 0.39048 0.346636 \n", + "\n", + " tar_possession2_ts_avg tar_shont1_ts_avg tar_shont2_ts_avg \\\n", + "3188 0.498818 0.105091 0.186182 \n", + "\n", + " tar_shofft1_ts_avg tar_shofft2_ts_avg tar_corners1_ts_avg \\\n", + "3188 0.115361 0.188088 0.125874 \n", + "\n", + " tar_corners2_ts_avg tar_offsides1_ts_avg tar_offsides2_ts_avg \\\n", + "3188 0.234615 0.125568 0.088068 \n", + "\n", + " tar_fouls1_ts_avg tar_fouls2_ts_avg tar_cards1_ts_avg \\\n", + "3188 0.149026 0.150974 0.157025 \n", + "\n", + " tar_cards2_ts_avg tar_gksaves1_ts_avg tar_gksaves2_ts_avg \\\n", + "3188 0.119835 0.15671 0.083117 \n", + "\n", + " tar_precision1_ts_avg tar_precision2_ts_avg tar_w1_ts_form \\\n", + "3188 0.073894 0.076142 -0.146341 \n", + "\n", + " tar_wx_ts_form tar_w2_ts_form tar_ht1_ts_form tar_ht2_ts_form \\\n", + "3188 -0.292683 0.439024 -0.105691 0.813008 \n", + "\n", + " tar_ft1_ts_form tar_ft2_ts_form tar_psht_ts_form tar_psft_ts_form \\\n", + "3188 0.073171 0.934959 -0.918699 -0.861789 \n", + "\n", + " tar_vote1_ts_form tar_votex_ts_form tar_vote2_ts_form \\\n", + "3188 0.085832 0.004069 -0.089901 \n", + "\n", + " tar_elo1_ts_form tar_elo2_ts_form tar_oddsprob1_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_oddsprobx_ts_form tar_oddsprob2_ts_form tar_drift1_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_driftx_ts_form tar_drift2_ts_form tar_graph1_ts_form \\\n", + "3188 NaN NaN 0.009418 \n", + "\n", + " tar_graph2_ts_form tar_possession1_ts_form tar_possession2_ts_form \\\n", + "3188 -0.009418 NaN NaN \n", + "\n", + " tar_shont1_ts_form tar_shont2_ts_form tar_shofft1_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_shofft2_ts_form tar_corners1_ts_form tar_corners2_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_offsides1_ts_form tar_offsides2_ts_form tar_fouls1_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_fouls2_ts_form tar_cards1_ts_form tar_cards2_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_gksaves1_ts_form tar_gksaves2_ts_form tar_precision1_ts_form \\\n", + "3188 NaN NaN NaN \n", + "\n", + " tar_precision2_ts_form opp_w1_ts_avg opp_wx_ts_avg opp_w2_ts_avg \\\n", + "3188 NaN 0.506173 0.148148 0.345679 \n", + "\n", + " opp_ht1_ts_avg opp_ht2_ts_avg opp_ft1_ts_avg opp_ft2_ts_avg \\\n", + "3188 0.666667 0.555556 1.493827 1.259259 \n", + "\n", + " opp_psht_ts_avg opp_psft_ts_avg opp_vote1_ts_avg opp_votex_ts_avg \\\n", + "3188 0.111111 0.234568 0.479441 0.22617 \n", + "\n", + " opp_vote2_ts_avg opp_elo1_ts_avg opp_elo2_ts_avg \\\n", + "3188 0.294389 1493.112401 1552.586907 \n", + "\n", + " opp_oddsprob1_ts_avg opp_oddsprobx_ts_avg opp_oddsprob2_ts_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " opp_drift1_ts_avg opp_driftx_ts_avg opp_drift2_ts_avg \\\n", + "3188 NaN NaN NaN \n", + "\n", + " opp_graph1_ts_avg opp_graph2_ts_avg opp_possession1_ts_avg \\\n", + "3188 0.553617 0.446383 0.51716 \n", + "\n", + " opp_possession2_ts_avg opp_shont1_ts_avg opp_shont2_ts_avg \\\n", + "3188 0.408765 0.182222 0.152593 \n", + "\n", + " opp_shofft1_ts_avg opp_shofft2_ts_avg opp_corners1_ts_avg \\\n", + "3188 0.185611 0.136228 0.198955 \n", + "\n", + " opp_corners2_ts_avg opp_offsides1_ts_avg opp_offsides2_ts_avg \\\n", + "3188 0.156695 0.104167 0.156636 \n", + "\n", + " opp_fouls1_ts_avg opp_fouls2_ts_avg opp_cards1_ts_avg \\\n", + "3188 0.178571 0.171737 0.163861 \n", + "\n", + " opp_cards2_ts_avg opp_gksaves1_ts_avg opp_gksaves2_ts_avg \\\n", + "3188 0.152637 0.123457 0.146972 \n", + "\n", + " opp_precision1_ts_avg opp_precision2_ts_avg opp_w1_ts_form \\\n", + "3188 0.084061 0.074539 0.166667 \n", + "\n", + " opp_wx_ts_form opp_w2_ts_form opp_ht1_ts_form opp_ht2_ts_form \\\n", + "3188 0.0 -0.166667 0.166667 -0.333333 \n", + "\n", + " opp_ft1_ts_form opp_ft2_ts_form opp_psht_ts_form opp_psft_ts_form \\\n", + "3188 0.166667 -0.166667 0.5 0.333333 \n", + "\n", + " opp_vote1_ts_form opp_votex_ts_form opp_vote2_ts_form \\\n", + "3188 -0.027378 -0.020837 0.048215 \n", + "\n", + " opp_elo1_ts_form opp_elo2_ts_form opp_oddsprob1_ts_form \\\n", + "3188 NaN NaN -0.037541 \n", + "\n", + " opp_oddsprobx_ts_form opp_oddsprob2_ts_form opp_drift1_ts_form \\\n", + "3188 -0.022538 0.060078 0.001379 \n", + "\n", + " opp_driftx_ts_form opp_drift2_ts_form opp_graph1_ts_form \\\n", + "3188 0.032582 -0.021212 -0.019272 \n", + "\n", + " opp_graph2_ts_form opp_possession1_ts_form opp_possession2_ts_form \\\n", + "3188 0.019272 0.081667 0.085 \n", + "\n", + " opp_shont1_ts_form opp_shont2_ts_form opp_shofft1_ts_form \\\n", + "3188 0.006667 0.093333 0.017241 \n", + "\n", + " opp_shofft2_ts_form opp_corners1_ts_form opp_corners2_ts_form \\\n", + "3188 0.04023 -0.00641 0.044872 \n", + "\n", + " opp_offsides1_ts_form opp_offsides2_ts_form opp_fouls1_ts_form \\\n", + "3188 0.125 0.010417 0.032738 \n", + "\n", + " opp_fouls2_ts_form opp_cards1_ts_form opp_cards2_ts_form \\\n", + "3188 0.026786 0.030303 -2.775558e-17 \n", + "\n", + " opp_gksaves1_ts_form opp_gksaves2_ts_form opp_precision1_ts_form \\\n", + "3188 0.103175 -0.007937 -0.017974 \n", + "\n", + " opp_precision2_ts_form w1_tt_avg w2_tt_avg diff_w_tt_avg w1_tt_form \\\n", + "3188 -0.00077 0.361591 0.421501 -0.059909 -0.407574 \n", + "\n", + " w2_tt_form diff_w_tt_form w1_ts_avg w2_ts_avg diff_w_ts_avg \\\n", + "3188 0.301455 -0.709029 0.300112 0.493996 -0.193883 \n", + "\n", + " w1_ts_form w2_ts_form diff_w_ts_form ht1_tt_avg ht2_tt_avg \\\n", + "3188 -0.156504 0.302846 -0.45935 0.53759 0.568246 \n", + "\n", + " diff_ht_tt_avg ht1_tt_form ht2_tt_form diff_ht_tt_form ht1_ts_avg \\\n", + "3188 -0.030657 -0.222507 0.107403 -0.32991 0.473232 \n", + "\n", + " ht2_ts_avg diff_ht_ts_avg ht1_ts_form ht2_ts_form diff_ht_ts_form \\\n", + "3188 0.687879 -0.214646 -0.219512 0.489837 -0.70935 \n", + "\n", + " ft1_tt_avg ft2_tt_avg diff_ft_tt_avg ft1_tt_form ft2_tt_form \\\n", + "3188 1.179114 1.302662 -0.123548 -0.971331 -0.04985 \n", + "\n", + " diff_ft_tt_form ft1_ts_avg ft2_ts_avg diff_ft_ts_avg ft1_ts_form \\\n", + "3188 -0.921481 1.07963 1.519641 -0.440011 -0.046748 \n", + "\n", + " ft2_ts_form diff_ft_ts_form graph1_tt_avg graph2_tt_avg \\\n", + "3188 0.550813 -0.597561 0.49 0.48907 \n", + "\n", + " diff_graph_tt_avg graph1_tt_form graph2_tt_form diff_graph_tt_form \\\n", + "3188 0.000929 -0.041256 -0.059086 0.01783 \n", + "\n", + " graph1_ts_avg graph2_ts_avg diff_graph_ts_avg graph1_ts_form \\\n", + "3188 0.505224 0.472048 0.033176 0.014345 \n", + "\n", + " graph2_ts_form diff_graph_ts_form possession1_tt_avg \\\n", + "3188 -0.014345 0.028691 0.38241 \n", + "\n", + " possession2_tt_avg diff_possession_tt_avg possession1_tt_form \\\n", + "3188 0.503797 -0.121387 NaN \n", + "\n", + " possession2_tt_form diff_possession_tt_form possession1_ts_avg \\\n", + "3188 NaN NaN 0.377701 \n", + "\n", + " possession2_ts_avg diff_possession_ts_avg possession1_ts_form \\\n", + "3188 0.507989 -0.130288 NaN \n", + "\n", + " possession2_ts_form diff_possession_ts_form shont1_tt_avg \\\n", + "3188 NaN NaN 0.139792 \n", + "\n", + " shont2_tt_avg diff_shont_tt_avg shont1_tt_form shont2_tt_form \\\n", + "3188 0.165378 -0.025587 NaN NaN \n", + "\n", + " diff_shont_tt_form shont1_ts_avg shont2_ts_avg diff_shont_ts_avg \\\n", + "3188 NaN 0.128842 0.184202 -0.05536 \n", + "\n", + " shont1_ts_form shont2_ts_form diff_shont_ts_form shofft1_tt_avg \\\n", + "3188 NaN NaN NaN 0.132887 \n", + "\n", + " shofft2_tt_avg diff_shofft_tt_avg shofft1_tt_form shofft2_tt_form \\\n", + "3188 0.167047 -0.03416 NaN NaN \n", + "\n", + " diff_shofft_tt_form shofft1_ts_avg shofft2_ts_avg diff_shofft_ts_avg \\\n", + "3188 NaN 0.125794 0.186849 -0.061055 \n", + "\n", + " shofft1_ts_form shofft2_ts_form diff_shofft_ts_form corners1_tt_avg \\\n", + "3188 NaN NaN NaN 0.159522 \n", + "\n", + " corners2_tt_avg diff_corners_tt_avg corners1_tt_form \\\n", + "3188 0.193864 -0.034342 NaN \n", + "\n", + " corners2_tt_form diff_corners_tt_form corners1_ts_avg \\\n", + "3188 NaN NaN 0.141285 \n", + "\n", + " corners2_ts_avg diff_corners_ts_avg corners1_ts_form \\\n", + "3188 0.216785 -0.075501 NaN \n", + "\n", + " corners2_ts_form diff_corners_ts_form offsides1_tt_avg \\\n", + "3188 NaN NaN 0.144179 \n", + "\n", + " offsides2_tt_avg diff_offsides_tt_avg offsides1_tt_form \\\n", + "3188 0.092167 0.052012 NaN \n", + "\n", + " offsides2_tt_form diff_offsides_tt_form offsides1_ts_avg \\\n", + "3188 NaN NaN 0.141102 \n", + "\n", + " offsides2_ts_avg diff_offsides_ts_avg offsides1_ts_form \\\n", + "3188 0.096117 0.044985 NaN \n", + "\n", + " offsides2_ts_form diff_offsides_ts_form fouls1_tt_avg fouls2_tt_avg \\\n", + "3188 NaN NaN 0.163207 0.167682 \n", + "\n", + " diff_fouls_tt_avg fouls1_tt_form fouls2_tt_form diff_fouls_tt_form \\\n", + "3188 -0.004475 NaN NaN NaN \n", + "\n", + " fouls1_ts_avg fouls2_ts_avg diff_fouls_ts_avg fouls1_ts_form \\\n", + "3188 0.160382 0.164773 -0.004391 NaN \n", + "\n", + " fouls2_ts_form diff_fouls_ts_form cards1_tt_avg cards2_tt_avg \\\n", + "3188 NaN NaN 0.148884 0.143632 \n", + "\n", + " diff_cards_tt_avg cards1_tt_form cards2_tt_form diff_cards_tt_form \\\n", + "3188 0.005252 NaN NaN NaN \n", + "\n", + " cards1_ts_avg cards2_ts_avg diff_cards_ts_avg cards1_ts_form \\\n", + "3188 0.154831 0.141848 0.012983 NaN \n", + "\n", + " cards2_ts_form diff_cards_ts_form gksaves1_tt_avg gksaves2_tt_avg \\\n", + "3188 NaN NaN 0.138326 0.115148 \n", + "\n", + " diff_gksaves_tt_avg gksaves1_tt_form gksaves2_tt_form \\\n", + "3188 0.023178 NaN NaN \n", + "\n", + " diff_gksaves_tt_form gksaves1_ts_avg gksaves2_ts_avg \\\n", + "3188 NaN 0.151841 0.103287 \n", + "\n", + " diff_gksaves_ts_avg gksaves1_ts_form gksaves2_ts_form \\\n", + "3188 0.048554 NaN NaN \n", + "\n", + " diff_gksaves_ts_form precision1_tt_avg precision2_tt_avg \\\n", + "3188 NaN 0.074652 0.078673 \n", + "\n", + " diff_precision_tt_avg precision1_tt_form precision2_tt_form \\\n", + "3188 -0.004021 NaN NaN \n", + "\n", + " diff_precision_tt_form precision1_ts_avg precision2_ts_avg \\\n", + "3188 NaN 0.074217 0.080102 \n", + "\n", + " diff_precision_ts_avg precision1_ts_form precision2_ts_form \\\n", + "3188 -0.005885 NaN NaN \n", + "\n", + " diff_precision_ts_form wx_tt_avg wx_tt_form wx_ts_avg wx_ts_form \\\n", + "3188 NaN 0.216908 0.106119 0.205892 -0.146341 \n", + "\n", + " psht_tt_avg psht_tt_form psht_ts_avg psht_ts_form psft_tt_avg \\\n", + "3188 -0.080971 0.3543 -0.103535 -0.20935 -0.192731 \n", + "\n", + " psft_tt_form psft_ts_avg psft_ts_form diff_vote12 diff_elo diff_op \n", + "3188 0.710098 -0.205443 -0.264228 -0.223149 110.17395 NaN " + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
sidecountryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnerodds_awayodds_drawodds_homecountry_idround.1ds.1deform1form2vote1votexvote2pop_relo1elo2oddsprob1oddsprobxoddsprob2drift1drift2driftxtar_w1_tt_avgtar_wx_tt_avgtar_w2_tt_avgtar_ht1_tt_avgtar_ht2_tt_avgtar_ft1_tt_avgtar_ft2_tt_avgtar_psht_tt_avgtar_psft_tt_avgtar_vote1_tt_avgtar_votex_tt_avgtar_vote2_tt_avgtar_elo1_tt_avgtar_elo2_tt_avgtar_oddsprob1_tt_avgtar_oddsprobx_tt_avgtar_oddsprob2_tt_avgtar_drift1_tt_avgtar_driftx_tt_avgtar_drift2_tt_avgtar_graph1_tt_avgtar_graph2_tt_avgtar_possession1_tt_avgtar_possession2_tt_avgtar_shont1_tt_avgtar_shont2_tt_avgtar_shofft1_tt_avgtar_shofft2_tt_avgtar_corners1_tt_avgtar_corners2_tt_avgtar_offsides1_tt_avgtar_offsides2_tt_avgtar_fouls1_tt_avgtar_fouls2_tt_avgtar_cards1_tt_avgtar_cards2_tt_avgtar_gksaves1_tt_avgtar_gksaves2_tt_avgtar_precision1_tt_avgtar_precision2_tt_avgtar_w1_tt_formtar_wx_tt_formtar_w2_tt_formtar_ht1_tt_formtar_ht2_tt_formtar_ft1_tt_formtar_ft2_tt_formtar_psht_tt_formtar_psft_tt_formtar_vote1_tt_formtar_votex_tt_formtar_vote2_tt_formtar_elo1_tt_formtar_elo2_tt_formtar_oddsprob1_tt_formtar_oddsprobx_tt_formtar_oddsprob2_tt_formtar_drift1_tt_formtar_driftx_tt_formtar_drift2_tt_formtar_graph1_tt_formtar_graph2_tt_formtar_possession1_tt_formtar_possession2_tt_formtar_shont1_tt_formtar_shont2_tt_formtar_shofft1_tt_formtar_shofft2_tt_formtar_corners1_tt_formtar_corners2_tt_formtar_offsides1_tt_formtar_offsides2_tt_formtar_fouls1_tt_formtar_fouls2_tt_formtar_cards1_tt_formtar_cards2_tt_formtar_gksaves1_tt_formtar_gksaves2_tt_formtar_precision1_tt_formtar_precision2_tt_formopp_w1_tt_avgopp_wx_tt_avgopp_w2_tt_avgopp_ht1_tt_avgopp_ht2_tt_avgopp_ft1_tt_avgopp_ft2_tt_avgopp_psht_tt_avgopp_psft_tt_avgopp_vote1_tt_avgopp_votex_tt_avgopp_vote2_tt_avgopp_elo1_tt_avgopp_elo2_tt_avgopp_oddsprob1_tt_avgopp_oddsprobx_tt_avgopp_oddsprob2_tt_avgopp_drift1_tt_avgopp_driftx_tt_avgopp_drift2_tt_avgopp_graph1_tt_avgopp_graph2_tt_avgopp_possession1_tt_avgopp_possession2_tt_avgopp_shont1_tt_avgopp_shont2_tt_avgopp_shofft1_tt_avgopp_shofft2_tt_avgopp_corners1_tt_avgopp_corners2_tt_avgopp_offsides1_tt_avgopp_offsides2_tt_avgopp_fouls1_tt_avgopp_fouls2_tt_avgopp_cards1_tt_avgopp_cards2_tt_avgopp_gksaves1_tt_avgopp_gksaves2_tt_avgopp_precision1_tt_avgopp_precision2_tt_avgopp_w1_tt_formopp_wx_tt_formopp_w2_tt_formopp_ht1_tt_formopp_ht2_tt_formopp_ft1_tt_formopp_ft2_tt_formopp_psht_tt_formopp_psft_tt_formopp_vote1_tt_formopp_votex_tt_formopp_vote2_tt_formopp_elo1_tt_formopp_elo2_tt_formopp_oddsprob1_tt_formopp_oddsprobx_tt_formopp_oddsprob2_tt_formopp_drift1_tt_formopp_driftx_tt_formopp_drift2_tt_formopp_graph1_tt_formopp_graph2_tt_formopp_possession1_tt_formopp_possession2_tt_formopp_shont1_tt_formopp_shont2_tt_formopp_shofft1_tt_formopp_shofft2_tt_formopp_corners1_tt_formopp_corners2_tt_formopp_offsides1_tt_formopp_offsides2_tt_formopp_fouls1_tt_formopp_fouls2_tt_formopp_cards1_tt_formopp_cards2_tt_formopp_gksaves1_tt_formopp_gksaves2_tt_formopp_precision1_tt_formopp_precision2_tt_formtar_w1_ts_avgtar_wx_ts_avgtar_w2_ts_avgtar_ht1_ts_avgtar_ht2_ts_avgtar_ft1_ts_avgtar_ft2_ts_avgtar_psht_ts_avgtar_psft_ts_avgtar_vote1_ts_avgtar_votex_ts_avgtar_vote2_ts_avgtar_elo1_ts_avgtar_elo2_ts_avgtar_oddsprob1_ts_avgtar_oddsprobx_ts_avgtar_oddsprob2_ts_avgtar_drift1_ts_avgtar_driftx_ts_avgtar_drift2_ts_avgtar_graph1_ts_avgtar_graph2_ts_avgtar_possession1_ts_avgtar_possession2_ts_avgtar_shont1_ts_avgtar_shont2_ts_avgtar_shofft1_ts_avgtar_shofft2_ts_avgtar_corners1_ts_avgtar_corners2_ts_avgtar_offsides1_ts_avgtar_offsides2_ts_avgtar_fouls1_ts_avgtar_fouls2_ts_avgtar_cards1_ts_avgtar_cards2_ts_avgtar_gksaves1_ts_avgtar_gksaves2_ts_avgtar_precision1_ts_avgtar_precision2_ts_avgtar_w1_ts_formtar_wx_ts_formtar_w2_ts_formtar_ht1_ts_formtar_ht2_ts_formtar_ft1_ts_formtar_ft2_ts_formtar_psht_ts_formtar_psft_ts_formtar_vote1_ts_formtar_votex_ts_formtar_vote2_ts_formtar_elo1_ts_formtar_elo2_ts_formtar_oddsprob1_ts_formtar_oddsprobx_ts_formtar_oddsprob2_ts_formtar_drift1_ts_formtar_driftx_ts_formtar_drift2_ts_formtar_graph1_ts_formtar_graph2_ts_formtar_possession1_ts_formtar_possession2_ts_formtar_shont1_ts_formtar_shont2_ts_formtar_shofft1_ts_formtar_shofft2_ts_formtar_corners1_ts_formtar_corners2_ts_formtar_offsides1_ts_formtar_offsides2_ts_formtar_fouls1_ts_formtar_fouls2_ts_formtar_cards1_ts_formtar_cards2_ts_formtar_gksaves1_ts_formtar_gksaves2_ts_formtar_precision1_ts_formtar_precision2_ts_formopp_w1_ts_avgopp_wx_ts_avgopp_w2_ts_avgopp_ht1_ts_avgopp_ht2_ts_avgopp_ft1_ts_avgopp_ft2_ts_avgopp_psht_ts_avgopp_psft_ts_avgopp_vote1_ts_avgopp_votex_ts_avgopp_vote2_ts_avgopp_elo1_ts_avgopp_elo2_ts_avgopp_oddsprob1_ts_avgopp_oddsprobx_ts_avgopp_oddsprob2_ts_avgopp_drift1_ts_avgopp_driftx_ts_avgopp_drift2_ts_avgopp_graph1_ts_avgopp_graph2_ts_avgopp_possession1_ts_avgopp_possession2_ts_avgopp_shont1_ts_avgopp_shont2_ts_avgopp_shofft1_ts_avgopp_shofft2_ts_avgopp_corners1_ts_avgopp_corners2_ts_avgopp_offsides1_ts_avgopp_offsides2_ts_avgopp_fouls1_ts_avgopp_fouls2_ts_avgopp_cards1_ts_avgopp_cards2_ts_avgopp_gksaves1_ts_avgopp_gksaves2_ts_avgopp_precision1_ts_avgopp_precision2_ts_avgopp_w1_ts_formopp_wx_ts_formopp_w2_ts_formopp_ht1_ts_formopp_ht2_ts_formopp_ft1_ts_formopp_ft2_ts_formopp_psht_ts_formopp_psft_ts_formopp_vote1_ts_formopp_votex_ts_formopp_vote2_ts_formopp_elo1_ts_formopp_elo2_ts_formopp_oddsprob1_ts_formopp_oddsprobx_ts_formopp_oddsprob2_ts_formopp_drift1_ts_formopp_driftx_ts_formopp_drift2_ts_formopp_graph1_ts_formopp_graph2_ts_formopp_possession1_ts_formopp_possession2_ts_formopp_shont1_ts_formopp_shont2_ts_formopp_shofft1_ts_formopp_shofft2_ts_formopp_corners1_ts_formopp_corners2_ts_formopp_offsides1_ts_formopp_offsides2_ts_formopp_fouls1_ts_formopp_fouls2_ts_formopp_cards1_ts_formopp_cards2_ts_formopp_gksaves1_ts_formopp_gksaves2_ts_formopp_precision1_ts_formopp_precision2_ts_formw1_tt_avgw2_tt_avgdiff_w_tt_avgw1_tt_formw2_tt_formdiff_w_tt_formw1_ts_avgw2_ts_avgdiff_w_ts_avgw1_ts_formw2_ts_formdiff_w_ts_formht1_tt_avght2_tt_avgdiff_ht_tt_avght1_tt_formht2_tt_formdiff_ht_tt_formht1_ts_avght2_ts_avgdiff_ht_ts_avght1_ts_formht2_ts_formdiff_ht_ts_formft1_tt_avgft2_tt_avgdiff_ft_tt_avgft1_tt_formft2_tt_formdiff_ft_tt_formft1_ts_avgft2_ts_avgdiff_ft_ts_avgft1_ts_formft2_ts_formdiff_ft_ts_formgraph1_tt_avggraph2_tt_avgdiff_graph_tt_avggraph1_tt_formgraph2_tt_formdiff_graph_tt_formgraph1_ts_avggraph2_ts_avgdiff_graph_ts_avggraph1_ts_formgraph2_ts_formdiff_graph_ts_formpossession1_tt_avgpossession2_tt_avgdiff_possession_tt_avgpossession1_tt_formpossession2_tt_formdiff_possession_tt_formpossession1_ts_avgpossession2_ts_avgdiff_possession_ts_avgpossession1_ts_formpossession2_ts_formdiff_possession_ts_formshont1_tt_avgshont2_tt_avgdiff_shont_tt_avgshont1_tt_formshont2_tt_formdiff_shont_tt_formshont1_ts_avgshont2_ts_avgdiff_shont_ts_avgshont1_ts_formshont2_ts_formdiff_shont_ts_formshofft1_tt_avgshofft2_tt_avgdiff_shofft_tt_avgshofft1_tt_formshofft2_tt_formdiff_shofft_tt_formshofft1_ts_avgshofft2_ts_avgdiff_shofft_ts_avgshofft1_ts_formshofft2_ts_formdiff_shofft_ts_formcorners1_tt_avgcorners2_tt_avgdiff_corners_tt_avgcorners1_tt_formcorners2_tt_formdiff_corners_tt_formcorners1_ts_avgcorners2_ts_avgdiff_corners_ts_avgcorners1_ts_formcorners2_ts_formdiff_corners_ts_formoffsides1_tt_avgoffsides2_tt_avgdiff_offsides_tt_avgoffsides1_tt_formoffsides2_tt_formdiff_offsides_tt_formoffsides1_ts_avgoffsides2_ts_avgdiff_offsides_ts_avgoffsides1_ts_formoffsides2_ts_formdiff_offsides_ts_formfouls1_tt_avgfouls2_tt_avgdiff_fouls_tt_avgfouls1_tt_formfouls2_tt_formdiff_fouls_tt_formfouls1_ts_avgfouls2_ts_avgdiff_fouls_ts_avgfouls1_ts_formfouls2_ts_formdiff_fouls_ts_formcards1_tt_avgcards2_tt_avgdiff_cards_tt_avgcards1_tt_formcards2_tt_formdiff_cards_tt_formcards1_ts_avgcards2_ts_avgdiff_cards_ts_avgcards1_ts_formcards2_ts_formdiff_cards_ts_formgksaves1_tt_avggksaves2_tt_avgdiff_gksaves_tt_avggksaves1_tt_formgksaves2_tt_formdiff_gksaves_tt_formgksaves1_ts_avggksaves2_ts_avgdiff_gksaves_ts_avggksaves1_ts_formgksaves2_ts_formdiff_gksaves_ts_formprecision1_tt_avgprecision2_tt_avgdiff_precision_tt_avgprecision1_tt_formprecision2_tt_formdiff_precision_tt_formprecision1_ts_avgprecision2_ts_avgdiff_precision_ts_avgprecision1_ts_formprecision2_ts_formdiff_precision_ts_formwx_tt_avgwx_tt_formwx_ts_avgwx_ts_formpsht_tt_avgpsht_tt_formpsht_ts_avgpsht_ts_formpsft_tt_avgpsft_tt_formpsft_ts_avgpsft_ts_formdiff_vote12diff_elodiff_op
31880englandfa-cup9278376102021-01-24 14:30:00+00:00burnleyfulham38751003.00.0awayNaNNaNNaN15102021-01-24 14:30:00+00:002021-01-242010.2393760.2980990.4625253.01712.2341311602.060181NaNNaNNaNNaNNaNNaN0.3395350.2325580.4279070.4651160.5767441.0186051.334884-0.111628-0.3162790.2596150.2149030.5254821622.163961658.191253NaNNaNNaNNaNNaNNaN0.5214520.4366870.3648840.4955810.1183260.1687440.1228550.1684040.1422180.2116280.1366280.0848840.1516610.158140.1496830.1243130.1430790.0961240.075240.081294-0.3414630.422764-0.081301-0.252033-0.276423-0.837398-0.6260160.02439-0.2113820.0271360.010521-0.037656NaN284.184215NaNNaNNaNNaNNaNNaN-0.129159-0.106613NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.4150940.2012580.3836480.5597480.6100631.270441.339623-0.050314-0.0691820.3962430.2377770.365981491.367161529.075142NaNNaNNaNNaNNaNNaN0.5414530.4585470.5120130.3999370.1620130.1612580.1656910.1429190.1761010.1768260.099450.151730.1772240.1747530.162950.1480850.1341720.1335730.0760530.0740650.684211-0.210526-0.4736840.491228-0.1929820.526316-1.1052630.6842111.6315790.0322990.101691-0.13399-31.964004-77.311984NaNNaNNaNNaNNaNNaN-0.0115590.0466470.0315790.038596-0.030877-0.06807-0.0308530.098004-0.083671-0.029015-0.060307-0.0131580.1187340.191416-0.084530.154705-0.046784-0.0334170.120164-0.0152640.2545450.2636360.4818180.3909090.7090910.91.545455-0.318182-0.6454550.1817530.205340.6129071607.1611521642.881127NaNNaNNaNNaNNaNNaN0.5640650.390480.3466360.4988180.1050910.1861820.1153610.1880880.1258740.2346150.1255680.0880680.1490260.1509740.1570250.1198350.156710.0831170.0738940.076142-0.146341-0.2926830.439024-0.1056910.8130080.0731710.934959-0.918699-0.8617890.0858320.004069-0.089901NaNNaNNaNNaNNaNNaNNaNNaN0.009418-0.009418NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.5061730.1481480.3456790.6666670.5555561.4938271.2592590.1111110.2345680.4794410.226170.2943891493.1124011552.586907NaNNaNNaNNaNNaNNaN0.5536170.4463830.517160.4087650.1822220.1525930.1856110.1362280.1989550.1566950.1041670.1566360.1785710.1717370.1638610.1526370.1234570.1469720.0840610.0745390.1666670.0-0.1666670.166667-0.3333330.166667-0.1666670.50.333333-0.027378-0.0208370.048215NaNNaN-0.037541-0.0225380.0600780.0013790.032582-0.021212-0.0192720.0192720.0816670.0850.0066670.0933330.0172410.04023-0.006410.0448720.1250.0104170.0327380.0267860.030303-2.775558e-170.103175-0.007937-0.017974-0.000770.3615910.421501-0.059909-0.4075740.301455-0.7090290.3001120.493996-0.193883-0.1565040.302846-0.459350.537590.568246-0.030657-0.2225070.107403-0.329910.4732320.687879-0.214646-0.2195120.489837-0.709351.1791141.302662-0.123548-0.971331-0.04985-0.9214811.079631.519641-0.440011-0.0467480.550813-0.5975610.490.489070.000929-0.041256-0.0590860.017830.5052240.4720480.0331760.014345-0.0143450.0286910.382410.503797-0.121387NaNNaNNaN0.3777010.507989-0.130288NaNNaNNaN0.1397920.165378-0.025587NaNNaNNaN0.1288420.184202-0.05536NaNNaNNaN0.1328870.167047-0.03416NaNNaNNaN0.1257940.186849-0.061055NaNNaNNaN0.1595220.193864-0.034342NaNNaNNaN0.1412850.216785-0.075501NaNNaNNaN0.1441790.0921670.052012NaNNaNNaN0.1411020.0961170.044985NaNNaNNaN0.1632070.167682-0.004475NaNNaNNaN0.1603820.164773-0.004391NaNNaNNaN0.1488840.1436320.005252NaNNaNNaN0.1548310.1418480.012983NaNNaNNaN0.1383260.1151480.023178NaNNaNNaN0.1518410.1032870.048554NaNNaNNaN0.0746520.078673-0.004021NaNNaNNaN0.0742170.080102-0.005885NaNNaNNaN0.2169080.1061190.205892-0.146341-0.0809710.3543-0.103535-0.20935-0.1927310.710098-0.205443-0.264228-0.223149110.17395NaN
\n
" + }, + "metadata": {}, + "execution_count": 80 + } + ], + "source": [ + "df_last[(df_last['side']==0) & (df_last['tid1']==3)]" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " NaN NaN NaN NaN \n", + "\n", + " drift2 driftx tar_w1_tt_avg tar_wx_tt_avg tar_w2_tt_avg \\\n", + "0 NaN NaN NaN NaN NaN \n", + "\n", + " tar_ht1_tt_avg tar_ht2_tt_avg tar_ft1_tt_avg tar_ft2_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_psht_tt_avg tar_psft_tt_avg tar_vote1_tt_avg tar_votex_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_vote2_tt_avg tar_elo1_tt_avg tar_elo2_tt_avg tar_oddsprob1_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_oddsprobx_tt_avg tar_oddsprob2_tt_avg tar_drift1_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_driftx_tt_avg tar_drift2_tt_avg tar_graph1_tt_avg tar_graph2_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_possession1_tt_avg tar_possession2_tt_avg tar_shont1_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_shont2_tt_avg tar_shofft1_tt_avg tar_shofft2_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_corners1_tt_avg tar_corners2_tt_avg tar_offsides1_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_offsides2_tt_avg tar_fouls1_tt_avg tar_fouls2_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_cards1_tt_avg tar_cards2_tt_avg tar_gksaves1_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_gksaves2_tt_avg tar_precision1_tt_avg tar_precision2_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_w1_tt_form tar_wx_tt_form tar_w2_tt_form tar_ht1_tt_form \\\n", + "0 0.2 -0.066667 -0.133333 0.466667 \n", + "\n", + " tar_ht2_tt_form tar_ft1_tt_form tar_ft2_tt_form tar_psht_tt_form \\\n", + "0 0.233333 0.866667 0.9 0.233333 \n", + "\n", + " tar_psft_tt_form tar_vote1_tt_form tar_votex_tt_form tar_vote2_tt_form \\\n", + "0 -0.033333 -0.07769 0.011146 0.066543 \n", + "\n", + " tar_elo1_tt_form tar_elo2_tt_form tar_oddsprob1_tt_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_oddsprobx_tt_form tar_oddsprob2_tt_form tar_drift1_tt_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_driftx_tt_form tar_drift2_tt_form tar_graph1_tt_form \\\n", + "0 NaN NaN -0.079179 \n", + "\n", + " tar_graph2_tt_form tar_possession1_tt_form tar_possession2_tt_form \\\n", + "0 0.112512 -0.101 -0.165667 \n", + "\n", + " tar_shont1_tt_form tar_shont2_tt_form tar_shofft1_tt_form \\\n", + "0 0.041333 -0.026667 0.031034 \n", + "\n", + " tar_shofft2_tt_form tar_corners1_tt_form tar_corners2_tt_form \\\n", + "0 -0.021839 -0.055128 -0.083333 \n", + "\n", + " tar_offsides1_tt_form tar_offsides2_tt_form tar_fouls1_tt_form \\\n", + "0 -0.010417 -0.03125 -0.101786 \n", + "\n", + " tar_fouls2_tt_form tar_cards1_tt_form tar_cards2_tt_form \\\n", + "0 -0.056548 -0.133333 0.069697 \n", + "\n", + " tar_gksaves1_tt_form tar_gksaves2_tt_form tar_precision1_tt_form \\\n", + "0 -0.012698 0.009524 0.006867 \n", + "\n", + " tar_precision2_tt_form opp_w1_tt_avg opp_wx_tt_avg opp_w2_tt_avg \\\n", + "0 -0.048814 0.0 1.0 0.0 \n", + "\n", + " opp_ht1_tt_avg opp_ht2_tt_avg opp_ft1_tt_avg opp_ft2_tt_avg \\\n", + "0 1.0 1.0 1.0 1.0 \n", + "\n", + " opp_psht_tt_avg opp_psft_tt_avg opp_vote1_tt_avg opp_votex_tt_avg \\\n", + "0 0.0 0.0 0.073014 0.140602 \n", + "\n", + " opp_vote2_tt_avg opp_elo1_tt_avg opp_elo2_tt_avg opp_oddsprob1_tt_avg \\\n", + "0 0.786384 1605.22229 1702.563721 NaN \n", + "\n", + " opp_oddsprobx_tt_avg opp_oddsprob2_tt_avg opp_drift1_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_driftx_tt_avg opp_drift2_tt_avg opp_graph1_tt_avg opp_graph2_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_possession1_tt_avg opp_possession2_tt_avg opp_shont1_tt_avg \\\n", + "0 0.54 0.46 0.12 \n", + "\n", + " opp_shont2_tt_avg opp_shofft1_tt_avg opp_shofft2_tt_avg \\\n", + "0 0.24 0.275862 0.103448 \n", + "\n", + " opp_corners1_tt_avg opp_corners2_tt_avg opp_offsides1_tt_avg \\\n", + "0 0.038462 0.0 0.0 \n", + "\n", + " opp_offsides2_tt_avg opp_fouls1_tt_avg opp_fouls2_tt_avg \\\n", + "0 0.375 0.214286 0.107143 \n", + "\n", + " opp_cards1_tt_avg opp_cards2_tt_avg opp_gksaves1_tt_avg \\\n", + "0 0.0 0.090909 0.190476 \n", + "\n", + " opp_gksaves2_tt_avg opp_precision1_tt_avg opp_precision2_tt_avg \\\n", + "0 0.095238 0.029412 0.156863 \n", + "\n", + " opp_w1_tt_form opp_wx_tt_form opp_w2_tt_form opp_ht1_tt_form \\\n", + "0 0.088435 0.047619 -0.136054 -0.156463 \n", + "\n", + " opp_ht2_tt_form opp_ft1_tt_form opp_ft2_tt_form opp_psht_tt_form \\\n", + "0 -0.428571 -0.190476 -0.435374 0.272109 \n", + "\n", + " opp_psft_tt_form opp_vote1_tt_form opp_votex_tt_form opp_vote2_tt_form \\\n", + "0 0.244898 0.008349 0.034576 -0.042925 \n", + "\n", + " opp_elo1_tt_form opp_elo2_tt_form opp_oddsprob1_tt_form \\\n", + "0 -26.377263 0.008213 0.154478 \n", + "\n", + " opp_oddsprobx_tt_form opp_oddsprob2_tt_form opp_drift1_tt_form \\\n", + "0 0.127505 0.119378 0.001751 \n", + "\n", + " opp_driftx_tt_form opp_drift2_tt_form opp_graph1_tt_form \\\n", + "0 -0.008019 0.00682 0.029799 \n", + "\n", + " opp_graph2_tt_form opp_possession1_tt_form opp_possession2_tt_form \\\n", + "0 0.09265 -0.09551 -0.135782 \n", + "\n", + " opp_shont1_tt_form opp_shont2_tt_form opp_shofft1_tt_form \\\n", + "0 -0.008707 -0.084082 -0.026976 \n", + "\n", + " opp_shofft2_tt_form opp_corners1_tt_form opp_corners2_tt_form \\\n", + "0 -0.049965 -0.058608 -0.01596 \n", + "\n", + " opp_offsides1_tt_form opp_offsides2_tt_form opp_fouls1_tt_form \\\n", + "0 -0.041241 -0.091837 -0.070092 \n", + "\n", + " opp_fouls2_tt_form opp_cards1_tt_form opp_cards2_tt_form \\\n", + "0 -0.11431 -0.141002 -0.037724 \n", + "\n", + " opp_gksaves1_tt_form opp_gksaves2_tt_form opp_precision1_tt_form \\\n", + "0 -0.105928 -0.027535 -0.014646 \n", + "\n", + " opp_precision2_tt_form tar_w1_ts_avg tar_wx_ts_avg tar_w2_ts_avg \\\n", + "0 -0.036342 NaN NaN NaN \n", + "\n", + " tar_ht1_ts_avg tar_ht2_ts_avg tar_ft1_ts_avg tar_ft2_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_psht_ts_avg tar_psft_ts_avg tar_vote1_ts_avg tar_votex_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_vote2_ts_avg tar_elo1_ts_avg tar_elo2_ts_avg tar_oddsprob1_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_oddsprobx_ts_avg tar_oddsprob2_ts_avg tar_drift1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_driftx_ts_avg tar_drift2_ts_avg tar_graph1_ts_avg tar_graph2_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_possession1_ts_avg tar_possession2_ts_avg tar_shont1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_shont2_ts_avg tar_shofft1_ts_avg tar_shofft2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_corners1_ts_avg tar_corners2_ts_avg tar_offsides1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_offsides2_ts_avg tar_fouls1_ts_avg tar_fouls2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_cards1_ts_avg tar_cards2_ts_avg tar_gksaves1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_gksaves2_ts_avg tar_precision1_ts_avg tar_precision2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_w1_ts_form tar_wx_ts_form tar_w2_ts_form tar_ht1_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_ht2_ts_form tar_ft1_ts_form tar_ft2_ts_form tar_psht_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_psft_ts_form tar_vote1_ts_form tar_votex_ts_form tar_vote2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " tar_elo1_ts_form tar_elo2_ts_form tar_oddsprob1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_oddsprobx_ts_form tar_oddsprob2_ts_form tar_drift1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_driftx_ts_form tar_drift2_ts_form tar_graph1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_graph2_ts_form tar_possession1_ts_form tar_possession2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_shont1_ts_form tar_shont2_ts_form tar_shofft1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_shofft2_ts_form tar_corners1_ts_form tar_corners2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_offsides1_ts_form tar_offsides2_ts_form tar_fouls1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_fouls2_ts_form tar_cards1_ts_form tar_cards2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_gksaves1_ts_form tar_gksaves2_ts_form tar_precision1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " tar_precision2_ts_form opp_w1_ts_avg opp_wx_ts_avg opp_w2_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_ht1_ts_avg opp_ht2_ts_avg opp_ft1_ts_avg opp_ft2_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_psht_ts_avg opp_psft_ts_avg opp_vote1_ts_avg opp_votex_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_vote2_ts_avg opp_elo1_ts_avg opp_elo2_ts_avg opp_oddsprob1_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_oddsprobx_ts_avg opp_oddsprob2_ts_avg opp_drift1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_driftx_ts_avg opp_drift2_ts_avg opp_graph1_ts_avg opp_graph2_ts_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " opp_possession1_ts_avg opp_possession2_ts_avg opp_shont1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_shont2_ts_avg opp_shofft1_ts_avg opp_shofft2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_corners1_ts_avg opp_corners2_ts_avg opp_offsides1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_offsides2_ts_avg opp_fouls1_ts_avg opp_fouls2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_cards1_ts_avg opp_cards2_ts_avg opp_gksaves1_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_gksaves2_ts_avg opp_precision1_ts_avg opp_precision2_ts_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_w1_ts_form opp_wx_ts_form opp_w2_ts_form opp_ht1_ts_form \\\n", + "0 -0.435897 0.435897 0.0 -0.974359 \n", + "\n", + " opp_ht2_ts_form opp_ft1_ts_form opp_ft2_ts_form opp_psht_ts_form \\\n", + "0 -0.230769 -0.846154 0.076923 -0.74359 \n", + "\n", + " opp_psft_ts_form opp_vote1_ts_form opp_votex_ts_form opp_vote2_ts_form \\\n", + "0 -0.923077 -0.02681 0.013172 0.013638 \n", + "\n", + " opp_elo1_ts_form opp_elo2_ts_form opp_oddsprob1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_oddsprobx_ts_form opp_oddsprob2_ts_form opp_drift1_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " opp_driftx_ts_form opp_drift2_ts_form opp_graph1_ts_form \\\n", + "0 NaN NaN -0.028495 \n", + "\n", + " opp_graph2_ts_form opp_possession1_ts_form opp_possession2_ts_form \\\n", + "0 0.028495 0.029231 0.047692 \n", + "\n", + " opp_shont1_ts_form opp_shont2_ts_form opp_shofft1_ts_form \\\n", + "0 -0.070769 0.024615 0.030062 \n", + "\n", + " opp_shofft2_ts_form opp_corners1_ts_form opp_corners2_ts_form \\\n", + "0 0.047745 0.018738 -0.014793 \n", + "\n", + " opp_offsides1_ts_form opp_offsides2_ts_form opp_fouls1_ts_form \\\n", + "0 0.008013 0.064103 0.038462 \n", + "\n", + " opp_fouls2_ts_form opp_cards1_ts_form opp_cards2_ts_form \\\n", + "0 -0.038919 0.083916 -0.037296 \n", + "\n", + " opp_gksaves1_ts_form opp_gksaves2_ts_form opp_precision1_ts_form \\\n", + "0 0.029304 -0.028083 0.102562 \n", + "\n", + " opp_precision2_ts_form w1_tt_avg w2_tt_avg diff_w_tt_avg w1_tt_form \\\n", + "0 -0.027284 NaN NaN NaN 0.031973 \n", + "\n", + " w2_tt_form diff_w_tt_form w1_ts_avg w2_ts_avg diff_w_ts_avg \\\n", + "0 -0.022449 0.054422 NaN NaN NaN \n", + "\n", + " w1_ts_form w2_ts_form diff_w_ts_form ht1_tt_avg ht2_tt_avg \\\n", + "0 NaN NaN NaN NaN NaN \n", + "\n", + " diff_ht_tt_avg ht1_tt_form ht2_tt_form diff_ht_tt_form ht1_ts_avg \\\n", + "0 NaN 0.019048 0.038435 -0.019388 NaN \n", + "\n", + " ht2_ts_avg diff_ht_ts_avg ht1_ts_form ht2_ts_form diff_ht_ts_form \\\n", + "0 NaN NaN NaN NaN NaN \n", + "\n", + " ft1_tt_avg ft2_tt_avg diff_ft_tt_avg ft1_tt_form ft2_tt_form \\\n", + "0 NaN NaN NaN 0.215646 0.354762 \n", + "\n", + " diff_ft_tt_form ft1_ts_avg ft2_ts_avg diff_ft_ts_avg ft1_ts_form \\\n", + "0 -0.139116 NaN NaN NaN NaN \n", + "\n", + " ft2_ts_form diff_ft_ts_form graph1_tt_avg graph2_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_graph_tt_avg graph1_tt_form graph2_tt_form diff_graph_tt_form \\\n", + "0 NaN 0.006735 0.071156 -0.06442 \n", + "\n", + " graph1_ts_avg graph2_ts_avg diff_graph_ts_avg graph1_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " graph2_ts_form diff_graph_ts_form possession1_tt_avg possession2_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_possession_tt_avg possession1_tt_form possession2_tt_form \\\n", + "0 NaN -0.118391 -0.130588 \n", + "\n", + " diff_possession_tt_form possession1_ts_avg possession2_ts_avg \\\n", + "0 0.012197 NaN NaN \n", + "\n", + " diff_possession_ts_avg possession1_ts_form possession2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " diff_possession_ts_form shont1_tt_avg shont2_tt_avg diff_shont_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " shont1_tt_form shont2_tt_form diff_shont_tt_form shont1_ts_avg \\\n", + "0 -0.021374 -0.017687 -0.003687 NaN \n", + "\n", + " shont2_ts_avg diff_shont_ts_avg shont1_ts_form shont2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_shont_ts_form shofft1_tt_avg shofft2_tt_avg diff_shofft_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " shofft1_tt_form shofft2_tt_form diff_shofft_tt_form shofft1_ts_avg \\\n", + "0 -0.009465 -0.024408 0.014943 NaN \n", + "\n", + " shofft2_ts_avg diff_shofft_ts_avg shofft1_ts_form shofft2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_shofft_ts_form corners1_tt_avg corners2_tt_avg diff_corners_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " corners1_tt_form corners2_tt_form diff_corners_tt_form corners1_ts_avg \\\n", + "0 -0.035544 -0.070971 0.035426 NaN \n", + "\n", + " corners2_ts_avg diff_corners_ts_avg corners1_ts_form corners2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_corners_ts_form offsides1_tt_avg offsides2_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " diff_offsides_tt_avg offsides1_tt_form offsides2_tt_form \\\n", + "0 NaN -0.051127 -0.036246 \n", + "\n", + " diff_offsides_tt_form offsides1_ts_avg offsides2_ts_avg \\\n", + "0 -0.014881 NaN NaN \n", + "\n", + " diff_offsides_ts_avg offsides1_ts_form offsides2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " diff_offsides_ts_form fouls1_tt_avg fouls2_tt_avg diff_fouls_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " fouls1_tt_form fouls2_tt_form diff_fouls_tt_form fouls1_ts_avg \\\n", + "0 -0.108048 -0.06332 -0.044728 NaN \n", + "\n", + " fouls2_ts_avg diff_fouls_ts_avg fouls1_ts_form fouls2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_fouls_ts_form cards1_tt_avg cards2_tt_avg diff_cards_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " cards1_tt_form cards2_tt_form diff_cards_tt_form cards1_ts_avg \\\n", + "0 -0.085529 -0.035652 -0.049876 NaN \n", + "\n", + " cards2_ts_avg diff_cards_ts_avg cards1_ts_form cards2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_cards_ts_form gksaves1_tt_avg gksaves2_tt_avg diff_gksaves_tt_avg \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " gksaves1_tt_form gksaves2_tt_form diff_gksaves_tt_form gksaves1_ts_avg \\\n", + "0 -0.020117 -0.048202 0.028086 NaN \n", + "\n", + " gksaves2_ts_avg diff_gksaves_ts_avg gksaves1_ts_form gksaves2_ts_form \\\n", + "0 NaN NaN NaN NaN \n", + "\n", + " diff_gksaves_ts_form precision1_tt_avg precision2_tt_avg \\\n", + "0 NaN NaN NaN \n", + "\n", + " diff_precision_tt_avg precision1_tt_form precision2_tt_form \\\n", + "0 NaN -0.014737 -0.03173 \n", + "\n", + " diff_precision_tt_form precision1_ts_avg precision2_ts_avg \\\n", + "0 0.016993 NaN NaN \n", + "\n", + " diff_precision_ts_avg precision1_ts_form precision2_ts_form \\\n", + "0 NaN NaN NaN \n", + "\n", + " diff_precision_ts_form wx_tt_avg wx_tt_form wx_ts_avg wx_ts_form \\\n", + "0 NaN NaN -0.009524 NaN NaN \n", + "\n", + " psht_tt_avg psht_tt_form psht_ts_avg psht_ts_form psft_tt_avg \\\n", + "0 NaN 0.252721 NaN NaN NaN \n", + "\n", + " psft_tt_form psft_ts_avg psft_ts_form diff_vote12 diff_elo diff_op \n", + "0 0.105782 NaN NaN -0.651715 NaN NaN " + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
sidecountryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnerodds_awayodds_drawodds_homecountry_idround.1ds.1deform1form2vote1votexvote2pop_relo1elo2oddsprob1oddsprobxoddsprob2drift1drift2driftxtar_w1_tt_avgtar_wx_tt_avgtar_w2_tt_avgtar_ht1_tt_avgtar_ht2_tt_avgtar_ft1_tt_avgtar_ft2_tt_avgtar_psht_tt_avgtar_psft_tt_avgtar_vote1_tt_avgtar_votex_tt_avgtar_vote2_tt_avgtar_elo1_tt_avgtar_elo2_tt_avgtar_oddsprob1_tt_avgtar_oddsprobx_tt_avgtar_oddsprob2_tt_avgtar_drift1_tt_avgtar_driftx_tt_avgtar_drift2_tt_avgtar_graph1_tt_avgtar_graph2_tt_avgtar_possession1_tt_avgtar_possession2_tt_avgtar_shont1_tt_avgtar_shont2_tt_avgtar_shofft1_tt_avgtar_shofft2_tt_avgtar_corners1_tt_avgtar_corners2_tt_avgtar_offsides1_tt_avgtar_offsides2_tt_avgtar_fouls1_tt_avgtar_fouls2_tt_avgtar_cards1_tt_avgtar_cards2_tt_avgtar_gksaves1_tt_avgtar_gksaves2_tt_avgtar_precision1_tt_avgtar_precision2_tt_avgtar_w1_tt_formtar_wx_tt_formtar_w2_tt_formtar_ht1_tt_formtar_ht2_tt_formtar_ft1_tt_formtar_ft2_tt_formtar_psht_tt_formtar_psft_tt_formtar_vote1_tt_formtar_votex_tt_formtar_vote2_tt_formtar_elo1_tt_formtar_elo2_tt_formtar_oddsprob1_tt_formtar_oddsprobx_tt_formtar_oddsprob2_tt_formtar_drift1_tt_formtar_driftx_tt_formtar_drift2_tt_formtar_graph1_tt_formtar_graph2_tt_formtar_possession1_tt_formtar_possession2_tt_formtar_shont1_tt_formtar_shont2_tt_formtar_shofft1_tt_formtar_shofft2_tt_formtar_corners1_tt_formtar_corners2_tt_formtar_offsides1_tt_formtar_offsides2_tt_formtar_fouls1_tt_formtar_fouls2_tt_formtar_cards1_tt_formtar_cards2_tt_formtar_gksaves1_tt_formtar_gksaves2_tt_formtar_precision1_tt_formtar_precision2_tt_formopp_w1_tt_avgopp_wx_tt_avgopp_w2_tt_avgopp_ht1_tt_avgopp_ht2_tt_avgopp_ft1_tt_avgopp_ft2_tt_avgopp_psht_tt_avgopp_psft_tt_avgopp_vote1_tt_avgopp_votex_tt_avgopp_vote2_tt_avgopp_elo1_tt_avgopp_elo2_tt_avgopp_oddsprob1_tt_avgopp_oddsprobx_tt_avgopp_oddsprob2_tt_avgopp_drift1_tt_avgopp_driftx_tt_avgopp_drift2_tt_avgopp_graph1_tt_avgopp_graph2_tt_avgopp_possession1_tt_avgopp_possession2_tt_avgopp_shont1_tt_avgopp_shont2_tt_avgopp_shofft1_tt_avgopp_shofft2_tt_avgopp_corners1_tt_avgopp_corners2_tt_avgopp_offsides1_tt_avgopp_offsides2_tt_avgopp_fouls1_tt_avgopp_fouls2_tt_avgopp_cards1_tt_avgopp_cards2_tt_avgopp_gksaves1_tt_avgopp_gksaves2_tt_avgopp_precision1_tt_avgopp_precision2_tt_avgopp_w1_tt_formopp_wx_tt_formopp_w2_tt_formopp_ht1_tt_formopp_ht2_tt_formopp_ft1_tt_formopp_ft2_tt_formopp_psht_tt_formopp_psft_tt_formopp_vote1_tt_formopp_votex_tt_formopp_vote2_tt_formopp_elo1_tt_formopp_elo2_tt_formopp_oddsprob1_tt_formopp_oddsprobx_tt_formopp_oddsprob2_tt_formopp_drift1_tt_formopp_driftx_tt_formopp_drift2_tt_formopp_graph1_tt_formopp_graph2_tt_formopp_possession1_tt_formopp_possession2_tt_formopp_shont1_tt_formopp_shont2_tt_formopp_shofft1_tt_formopp_shofft2_tt_formopp_corners1_tt_formopp_corners2_tt_formopp_offsides1_tt_formopp_offsides2_tt_formopp_fouls1_tt_formopp_fouls2_tt_formopp_cards1_tt_formopp_cards2_tt_formopp_gksaves1_tt_formopp_gksaves2_tt_formopp_precision1_tt_formopp_precision2_tt_formtar_w1_ts_avgtar_wx_ts_avgtar_w2_ts_avgtar_ht1_ts_avgtar_ht2_ts_avgtar_ft1_ts_avgtar_ft2_ts_avgtar_psht_ts_avgtar_psft_ts_avgtar_vote1_ts_avgtar_votex_ts_avgtar_vote2_ts_avgtar_elo1_ts_avgtar_elo2_ts_avgtar_oddsprob1_ts_avgtar_oddsprobx_ts_avgtar_oddsprob2_ts_avgtar_drift1_ts_avgtar_driftx_ts_avgtar_drift2_ts_avgtar_graph1_ts_avgtar_graph2_ts_avgtar_possession1_ts_avgtar_possession2_ts_avgtar_shont1_ts_avgtar_shont2_ts_avgtar_shofft1_ts_avgtar_shofft2_ts_avgtar_corners1_ts_avgtar_corners2_ts_avgtar_offsides1_ts_avgtar_offsides2_ts_avgtar_fouls1_ts_avgtar_fouls2_ts_avgtar_cards1_ts_avgtar_cards2_ts_avgtar_gksaves1_ts_avgtar_gksaves2_ts_avgtar_precision1_ts_avgtar_precision2_ts_avgtar_w1_ts_formtar_wx_ts_formtar_w2_ts_formtar_ht1_ts_formtar_ht2_ts_formtar_ft1_ts_formtar_ft2_ts_formtar_psht_ts_formtar_psft_ts_formtar_vote1_ts_formtar_votex_ts_formtar_vote2_ts_formtar_elo1_ts_formtar_elo2_ts_formtar_oddsprob1_ts_formtar_oddsprobx_ts_formtar_oddsprob2_ts_formtar_drift1_ts_formtar_driftx_ts_formtar_drift2_ts_formtar_graph1_ts_formtar_graph2_ts_formtar_possession1_ts_formtar_possession2_ts_formtar_shont1_ts_formtar_shont2_ts_formtar_shofft1_ts_formtar_shofft2_ts_formtar_corners1_ts_formtar_corners2_ts_formtar_offsides1_ts_formtar_offsides2_ts_formtar_fouls1_ts_formtar_fouls2_ts_formtar_cards1_ts_formtar_cards2_ts_formtar_gksaves1_ts_formtar_gksaves2_ts_formtar_precision1_ts_formtar_precision2_ts_formopp_w1_ts_avgopp_wx_ts_avgopp_w2_ts_avgopp_ht1_ts_avgopp_ht2_ts_avgopp_ft1_ts_avgopp_ft2_ts_avgopp_psht_ts_avgopp_psft_ts_avgopp_vote1_ts_avgopp_votex_ts_avgopp_vote2_ts_avgopp_elo1_ts_avgopp_elo2_ts_avgopp_oddsprob1_ts_avgopp_oddsprobx_ts_avgopp_oddsprob2_ts_avgopp_drift1_ts_avgopp_driftx_ts_avgopp_drift2_ts_avgopp_graph1_ts_avgopp_graph2_ts_avgopp_possession1_ts_avgopp_possession2_ts_avgopp_shont1_ts_avgopp_shont2_ts_avgopp_shofft1_ts_avgopp_shofft2_ts_avgopp_corners1_ts_avgopp_corners2_ts_avgopp_offsides1_ts_avgopp_offsides2_ts_avgopp_fouls1_ts_avgopp_fouls2_ts_avgopp_cards1_ts_avgopp_cards2_ts_avgopp_gksaves1_ts_avgopp_gksaves2_ts_avgopp_precision1_ts_avgopp_precision2_ts_avgopp_w1_ts_formopp_wx_ts_formopp_w2_ts_formopp_ht1_ts_formopp_ht2_ts_formopp_ft1_ts_formopp_ft2_ts_formopp_psht_ts_formopp_psft_ts_formopp_vote1_ts_formopp_votex_ts_formopp_vote2_ts_formopp_elo1_ts_formopp_elo2_ts_formopp_oddsprob1_ts_formopp_oddsprobx_ts_formopp_oddsprob2_ts_formopp_drift1_ts_formopp_driftx_ts_formopp_drift2_ts_formopp_graph1_ts_formopp_graph2_ts_formopp_possession1_ts_formopp_possession2_ts_formopp_shont1_ts_formopp_shont2_ts_formopp_shofft1_ts_formopp_shofft2_ts_formopp_corners1_ts_formopp_corners2_ts_formopp_offsides1_ts_formopp_offsides2_ts_formopp_fouls1_ts_formopp_fouls2_ts_formopp_cards1_ts_formopp_cards2_ts_formopp_gksaves1_ts_formopp_gksaves2_ts_formopp_precision1_ts_formopp_precision2_ts_formw1_tt_avgw2_tt_avgdiff_w_tt_avgw1_tt_formw2_tt_formdiff_w_tt_formw1_ts_avgw2_ts_avgdiff_w_ts_avgw1_ts_formw2_ts_formdiff_w_ts_formht1_tt_avght2_tt_avgdiff_ht_tt_avght1_tt_formht2_tt_formdiff_ht_tt_formht1_ts_avght2_ts_avgdiff_ht_ts_avght1_ts_formht2_ts_formdiff_ht_ts_formft1_tt_avgft2_tt_avgdiff_ft_tt_avgft1_tt_formft2_tt_formdiff_ft_tt_formft1_ts_avgft2_ts_avgdiff_ft_ts_avgft1_ts_formft2_ts_formdiff_ft_ts_formgraph1_tt_avggraph2_tt_avgdiff_graph_tt_avggraph1_tt_formgraph2_tt_formdiff_graph_tt_formgraph1_ts_avggraph2_ts_avgdiff_graph_ts_avggraph1_ts_formgraph2_ts_formdiff_graph_ts_formpossession1_tt_avgpossession2_tt_avgdiff_possession_tt_avgpossession1_tt_formpossession2_tt_formdiff_possession_tt_formpossession1_ts_avgpossession2_ts_avgdiff_possession_ts_avgpossession1_ts_formpossession2_ts_formdiff_possession_ts_formshont1_tt_avgshont2_tt_avgdiff_shont_tt_avgshont1_tt_formshont2_tt_formdiff_shont_tt_formshont1_ts_avgshont2_ts_avgdiff_shont_ts_avgshont1_ts_formshont2_ts_formdiff_shont_ts_formshofft1_tt_avgshofft2_tt_avgdiff_shofft_tt_avgshofft1_tt_formshofft2_tt_formdiff_shofft_tt_formshofft1_ts_avgshofft2_ts_avgdiff_shofft_ts_avgshofft1_ts_formshofft2_ts_formdiff_shofft_ts_formcorners1_tt_avgcorners2_tt_avgdiff_corners_tt_avgcorners1_tt_formcorners2_tt_formdiff_corners_tt_formcorners1_ts_avgcorners2_ts_avgdiff_corners_ts_avgcorners1_ts_formcorners2_ts_formdiff_corners_ts_formoffsides1_tt_avgoffsides2_tt_avgdiff_offsides_tt_avgoffsides1_tt_formoffsides2_tt_formdiff_offsides_tt_formoffsides1_ts_avgoffsides2_ts_avgdiff_offsides_ts_avgoffsides1_ts_formoffsides2_ts_formdiff_offsides_ts_formfouls1_tt_avgfouls2_tt_avgdiff_fouls_tt_avgfouls1_tt_formfouls2_tt_formdiff_fouls_tt_formfouls1_ts_avgfouls2_ts_avgdiff_fouls_ts_avgfouls1_ts_formfouls2_ts_formdiff_fouls_ts_formcards1_tt_avgcards2_tt_avgdiff_cards_tt_avgcards1_tt_formcards2_tt_formdiff_cards_tt_formcards1_ts_avgcards2_ts_avgdiff_cards_ts_avgcards1_ts_formcards2_ts_formdiff_cards_ts_formgksaves1_tt_avggksaves2_tt_avgdiff_gksaves_tt_avggksaves1_tt_formgksaves2_tt_formdiff_gksaves_tt_formgksaves1_ts_avggksaves2_ts_avgdiff_gksaves_ts_avggksaves1_ts_formgksaves2_ts_formdiff_gksaves_ts_formprecision1_tt_avgprecision2_tt_avgdiff_precision_tt_avgprecision1_tt_formprecision2_tt_formdiff_precision_tt_formprecision1_ts_avgprecision2_ts_avgdiff_precision_ts_avgprecision1_ts_formprecision2_ts_formdiff_precision_ts_formwx_tt_avgwx_tt_formwx_ts_avgwx_ts_formpsht_tt_avgpsht_tt_formpsht_ts_avgpsht_ts_formpsft_tt_avgpsft_tt_formpsft_ts_avgpsft_ts_formdiff_vote12diff_elodiff_op
00englandfa-cup652858092015-01-03 15:00:00+00:00gatesheadwest bromwich albion184580010.07.0homeNaNNaNNaN1592015-01-03 15:00:00+00:002015-01-0318200.1002640.1477570.7519793.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN0.2-0.066667-0.1333330.4666670.2333330.8666670.90.233333-0.033333-0.077690.0111460.066543NaNNaNNaNNaNNaNNaNNaNNaN-0.0791790.112512-0.101-0.1656670.041333-0.0266670.031034-0.021839-0.055128-0.083333-0.010417-0.03125-0.101786-0.056548-0.1333330.069697-0.0126980.0095240.006867-0.0488140.01.00.01.01.01.01.00.00.00.0730140.1406020.7863841605.222291702.563721NaNNaNNaNNaNNaNNaNNaNNaN0.540.460.120.240.2758620.1034480.0384620.00.00.3750.2142860.1071430.00.0909090.1904760.0952380.0294120.1568630.0884350.047619-0.136054-0.156463-0.428571-0.190476-0.4353740.2721090.2448980.0083490.034576-0.042925-26.3772630.0082130.1544780.1275050.1193780.001751-0.0080190.006820.0297990.09265-0.09551-0.135782-0.008707-0.084082-0.026976-0.049965-0.058608-0.01596-0.041241-0.091837-0.070092-0.11431-0.141002-0.037724-0.105928-0.027535-0.014646-0.036342NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.4358970.4358970.0-0.974359-0.230769-0.8461540.076923-0.74359-0.923077-0.026810.0131720.013638NaNNaNNaNNaNNaNNaNNaNNaN-0.0284950.0284950.0292310.047692-0.0707690.0246150.0300620.0477450.018738-0.0147930.0080130.0641030.038462-0.0389190.083916-0.0372960.029304-0.0280830.102562-0.027284NaNNaNNaN0.031973-0.0224490.054422NaNNaNNaNNaNNaNNaNNaNNaNNaN0.0190480.038435-0.019388NaNNaNNaNNaNNaNNaNNaNNaNNaN0.2156460.354762-0.139116NaNNaNNaNNaNNaNNaNNaNNaNNaN0.0067350.071156-0.06442NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.118391-0.1305880.012197NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.021374-0.017687-0.003687NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.009465-0.0244080.014943NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.035544-0.0709710.035426NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.051127-0.036246-0.014881NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.108048-0.06332-0.044728NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.085529-0.035652-0.049876NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.020117-0.0482020.028086NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.014737-0.031730.016993NaNNaNNaNNaNNaNNaNNaN-0.009524NaNNaNNaN0.252721NaNNaNNaN0.105782NaNNaN-0.651715NaNNaN
\n
" + }, + "metadata": {}, + "execution_count": 73 + } + ], + "source": [ + "df.merge(df_last)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_teams=pd.read_csv('data/teams.csv', index_col=None)\n", + "df_teams=df_teams[['tid','op_tid']].drop_duplicates()\n", + "\n", + "df=df.merge(df_teams, left_on='tid1', right_on='tid')\n", + "df=df.rename(columns={'op_tid':'op_tid1'})\n", + "df=df.drop(columns=['tid'])\n", + "df=df.merge(df_teams, left_on='tid2', right_on='tid')\n", + "df=df.rename(columns={'op_tid':'op_tid2'})\n", + "df=df.drop(columns=['tid'])\n", + "\n", + "df_op=dp._provide_op()\n", + "df_op=df_op.rename(columns={'tid1':'op_tid1','tid2':'op_tid2'})\n", + "df=df.merge(df_op[['op_tid1','op_tid2', 'oddsprob_home', 'oddsprob_draw', 'oddsprob_away', 'drift_home', 'drift_away', 'drift_draw']], on=['op_tid1','op_tid2'], how='left')" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " awayScoreHT country country_id ds homeScoreHT \\\n", + "0 NaN england 15 2021-01-31 12:00:00+00:00 NaN \n", + "1 NaN england 15 2021-01-31 14:00:00+00:00 NaN \n", + "2 NaN england 15 2021-01-31 16:30:00+00:00 NaN \n", + "3 NaN england 15 2021-01-31 19:15:00+00:00 NaN \n", + "4 NaN spain 42 2021-01-31 15:15:00+00:00 NaN \n", + ".. ... ... ... ... ... \n", + "74 NaN austria 2 2021-01-31 13:30:00+00:00 NaN \n", + "75 NaN turkey 45 2021-01-31 13:00:00+00:00 NaN \n", + "76 NaN belgium 4 2021-01-31 12:30:00+00:00 NaN \n", + "77 NaN germany 20 2021-01-31 13:00:00+00:00 NaN \n", + "78 NaN greece 21 2021-01-31 13:00:00+00:00 NaN \n", + "\n", + " liga mid round sc1 sc2 t1 \\\n", + "0 premier-league 8897050 21 NaN NaN chelsea \n", + "1 premier-league 8897051 21 NaN NaN leicester city \n", + "2 premier-league 8897027 21 NaN NaN west ham united \n", + "3 premier-league 8897039 21 NaN NaN brighton hove albion \n", + "4 laliga 8966464 21 NaN NaN cadiz \n", + ".. ... ... ... ... ... ... \n", + "74 bundesliga 8858506 15 NaN NaN skn st polten \n", + "75 tff-1-lig 8917288 19 NaN NaN boluspor \n", + "76 pro-league 8833161 23 NaN NaN club brugge \n", + "77 3-liga 8897913 22 NaN NaN tsv 1860 munchen \n", + "78 super-league 9238612 20 NaN NaN ofi crete \n", + "\n", + " t2 tid1 tid2 winner formation_h formation_a \\\n", + "0 burnley 4 3 draw NaN NaN \n", + "1 leeds united 6 796 draw 4-2-3-1 4-1-4-1 \n", + "2 liverpool 120 181 draw 4-2-3-1 4-3-3 \n", + "3 tottenham 609 274 draw 3-5-2 4-2-3-1 \n", + "4 atletico madrid 940 134 draw 4-4-2 4-4-2 \n", + ".. ... ... ... ... ... ... \n", + "74 wolfsberger ac 1033 330 draw NaN NaN \n", + "75 adana demirspor 410 153 draw NaN NaN \n", + "76 standard liege 82 270 draw NaN NaN \n", + "77 fsv zwickau 296 1161 draw NaN NaN \n", + "78 aek athens 35 548 draw NaN NaN \n", + "\n", + " home_formation away_formation vote_home vote_draw vote_away votes \\\n", + "0 NaN NaN 0.762910 0.160065 0.077026 27770.0 \n", + "1 14.0 12.0 0.689995 0.206004 0.104001 23019.0 \n", + "2 14.0 18.0 0.193081 0.186881 0.620038 28066.0 \n", + "3 9.0 14.0 0.119534 0.192975 0.687491 21609.0 \n", + "4 20.0 20.0 0.126301 0.173107 0.700591 22668.0 \n", + ".. ... ... ... ... ... ... \n", + "74 NaN NaN 0.195041 0.347658 0.457300 1815.0 \n", + "75 NaN NaN 0.223048 0.267658 0.509294 807.0 \n", + "76 NaN NaN 0.663458 0.254644 0.081898 7375.0 \n", + "77 NaN NaN 0.693064 0.254796 0.052140 2033.0 \n", + "78 NaN NaN 0.181906 0.240687 0.577407 4134.0 \n", + "\n", + " y pop_r de elo1 elo2 op_tid1 op_tid2 \\\n", + "0 2021 4.0 2021-01-31 1828.057861 1719.795166 256 135 \n", + "1 2021 3.0 2021-01-31 1821.147705 1676.518799 239 1503 \n", + "2 2021 4.0 2021-01-31 1757.818237 1944.577148 444 1183 \n", + "3 2021 3.0 2021-01-31 1662.046997 1836.129150 984 680 \n", + "4 2021 3.0 2021-01-31 1598.655518 1927.645752 1588 261 \n", + ".. ... ... ... ... ... ... ... \n", + "74 2021 0.0 2021-01-31 1419.237427 1550.491699 1395 368 \n", + "75 2021 0.0 2021-01-31 NaN NaN 6537 4729 \n", + "76 2021 1.0 2021-01-31 1688.555908 1521.353760 562 1355 \n", + "77 2021 0.0 2021-01-31 NaN NaN 1193 2159 \n", + "78 2021 0.0 2021-01-31 1275.163452 1516.458130 246 575 \n", + "\n", + " oddsprob_home oddsprob_draw oddsprob_away drift_home drift_away \\\n", + "0 0.713223 0.186128 0.100649 -0.068265 0.210811 \n", + "1 0.533874 0.238475 0.227651 -0.041660 0.058843 \n", + "2 0.218530 0.240785 0.540685 -0.091515 0.037856 \n", + "3 0.291167 0.286855 0.421978 -0.078422 0.078682 \n", + "4 NaN NaN NaN NaN NaN \n", + ".. ... ... ... ... ... \n", + "74 NaN NaN NaN NaN NaN \n", + "75 NaN NaN NaN NaN NaN \n", + "76 NaN NaN NaN NaN NaN \n", + "77 0.505812 0.280372 0.213816 0.063097 -0.084783 \n", + "78 NaN NaN NaN NaN NaN \n", + "\n", + " drift_draw \n", + "0 0.081265 \n", + "1 0.025857 \n", + "2 -0.022932 \n", + "3 -0.059461 \n", + "4 NaN \n", + ".. ... \n", + "74 NaN \n", + "75 NaN \n", + "76 NaN \n", + "77 -0.082277 \n", + "78 NaN \n", + "\n", + "[79 rows x 36 columns]" + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
awayScoreHTcountrycountry_iddshomeScoreHTligamidroundsc1sc2t1t2tid1tid2winnerformation_hformation_ahome_formationaway_formationvote_homevote_drawvote_awayvotesypop_rdeelo1elo2op_tid1op_tid2oddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
0NaNengland152021-01-31 12:00:00+00:00NaNpremier-league889705021NaNNaNchelseaburnley43drawNaNNaNNaNNaN0.7629100.1600650.07702627770.020214.02021-01-311828.0578611719.7951662561350.7132230.1861280.100649-0.0682650.2108110.081265
1NaNengland152021-01-31 14:00:00+00:00NaNpremier-league889705121NaNNaNleicester cityleeds united6796draw4-2-3-14-1-4-114.012.00.6899950.2060040.10400123019.020213.02021-01-311821.1477051676.51879923915030.5338740.2384750.227651-0.0416600.0588430.025857
2NaNengland152021-01-31 16:30:00+00:00NaNpremier-league889702721NaNNaNwest ham unitedliverpool120181draw4-2-3-14-3-314.018.00.1930810.1868810.62003828066.020214.02021-01-311757.8182371944.57714844411830.2185300.2407850.540685-0.0915150.037856-0.022932
3NaNengland152021-01-31 19:15:00+00:00NaNpremier-league889703921NaNNaNbrighton hove albiontottenham609274draw3-5-24-2-3-19.014.00.1195340.1929750.68749121609.020213.02021-01-311662.0469971836.1291509846800.2911670.2868550.421978-0.0784220.078682-0.059461
4NaNspain422021-01-31 15:15:00+00:00NaNlaliga896646421NaNNaNcadizatletico madrid940134draw4-4-24-4-220.020.00.1263010.1731070.70059122668.020213.02021-01-311598.6555181927.6457521588261NaNNaNNaNNaNNaNNaN
...............................................................................................................
74NaNaustria22021-01-31 13:30:00+00:00NaNbundesliga885850615NaNNaNskn st poltenwolfsberger ac1033330drawNaNNaNNaNNaN0.1950410.3476580.4573001815.020210.02021-01-311419.2374271550.4916991395368NaNNaNNaNNaNNaNNaN
75NaNturkey452021-01-31 13:00:00+00:00NaNtff-1-lig891728819NaNNaNbolusporadana demirspor410153drawNaNNaNNaNNaN0.2230480.2676580.509294807.020210.02021-01-31NaNNaN65374729NaNNaNNaNNaNNaNNaN
76NaNbelgium42021-01-31 12:30:00+00:00NaNpro-league883316123NaNNaNclub bruggestandard liege82270drawNaNNaNNaNNaN0.6634580.2546440.0818987375.020211.02021-01-311688.5559081521.3537605621355NaNNaNNaNNaNNaNNaN
77NaNgermany202021-01-31 13:00:00+00:00NaN3-liga889791322NaNNaNtsv 1860 munchenfsv zwickau2961161drawNaNNaNNaNNaN0.6930640.2547960.0521402033.020210.02021-01-31NaNNaN119321590.5058120.2803720.2138160.063097-0.084783-0.082277
78NaNgreece212021-01-31 13:00:00+00:00NaNsuper-league923861220NaNNaNofi creteaek athens35548drawNaNNaNNaNNaN0.1819060.2406870.5774074134.020210.02021-01-311275.1634521516.458130246575NaNNaNNaNNaNNaNNaN
\n

79 rows × 36 columns

\n
" + }, + "metadata": {}, + "execution_count": 64 + } + ], + "source": [ + "df.merge(df_op[['op_tid1','op_tid2', 'oddsprob_home', 'oddsprob_draw', 'oddsprob_away', 'drift_home', 'drift_away', 'drift_draw']], on=['op_tid1','op_tid2'], how='left')" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " bn country country_id ds \\\n", + "1 0.769231 spain 79 2021-01-31 16:00:00+00:00 \n", + "2 0.538462 portugal 66 2021-01-31 15:00:00+00:00 \n", + "3 0.538462 england 25 2021-01-31 14:00:00+00:00 \n", + "4 0.692308 hungary 35 2021-01-31 12:00:00+00:00 \n", + "5 0.076923 italy 41 2021-01-31 13:30:00+00:00 \n", + ".. ... ... ... ... \n", + "252 0.461538 world 91 2021-01-31 09:00:00+00:00 \n", + "253 0.461538 spain 79 2021-01-31 11:00:00+00:00 \n", + "254 0.076923 italy 41 2021-01-31 13:30:00+00:00 \n", + "255 0.769231 spain 79 2021-01-31 11:00:00+00:00 \n", + "256 0.461538 italy 41 2021-01-31 13:30:00+00:00 \n", + "\n", + " liga mid odds_away odds_draw odds_home \\\n", + "1 segunda-division-b-group-4 j3Y9nKmF 3.31 3.01 2.21 \n", + "2 campeonato-de-portugal 0QsOhlr3 4.96 3.32 1.66 \n", + "3 women-s-super-league QVy5J7LG 32.79 15.32 1.02 \n", + "4 merkantil-bank-liga QoKnxPsq 3.54 3.38 1.93 \n", + "5 serie-d-group-i 6Xcr5myQ 2.67 2.98 2.50 \n", + ".. ... ... ... ... ... \n", + "252 club-friendly 8rRnc5CU 2.42 3.68 2.44 \n", + "253 tercera-division-group-5 SYQqLkB7 3.71 2.90 2.03 \n", + "254 serie-d-group-b SjlFggSk 3.95 3.05 1.90 \n", + "255 segunda-division-b-group-3 4KLgJQrk 6.72 3.47 1.53 \n", + "256 serie-d-group-a plCCpCeC 3.84 3.26 1.89 \n", + "\n", + " sc1 sc2 t1 t2 op_tid1 op_tid2 \\\n", + "1 0 0 ucam murcia cordoba 1607 201 \n", + "2 0 0 canelas 2010 sc espinho 5144 6636 \n", + "3 0 0 manchester city w west ham w 1188 1859 \n", + "4 0 0 budaorsi sc szolnoki mav 5396 5461 \n", + "5 0 0 s agata santa maria cilento 6613 5365 \n", + ".. ... ... ... ... ... ... \n", + "252 0 0 gwelup croatia sc aus ecu joondalup aus 7649 7662 \n", + "253 0 0 granollers ue figueres 4994 6560 \n", + "254 0 0 vis nova giussano scanzorosciate 5245 5420 \n", + "255 0 0 ibiza alcoyano 3844 1396 \n", + "256 0 0 legnano vado 5569 4941 \n", + "\n", + " winner oddsprob_home oddsprob_draw oddsprob_away drift_home \\\n", + "1 draw 0.413793 0.304438 0.281769 -0.039783 \n", + "2 draw 0.540894 0.273849 0.185257 -0.026903 \n", + "3 draw 0.897301 0.069221 0.033478 -0.011119 \n", + "4 draw 0.471456 0.272429 0.256115 -0.008963 \n", + "5 draw 0.360790 0.302825 0.336386 0.000974 \n", + ".. ... ... ... ... ... \n", + "252 draw 0.370748 0.249496 0.379756 0.007891 \n", + "253 draw 0.437974 0.314028 0.247998 -0.031605 \n", + "254 draw 0.475769 0.295257 0.228974 0.003220 \n", + "255 draw 0.590045 0.263150 0.146805 -0.035511 \n", + "256 draw 0.480627 0.282118 0.237255 -0.015184 \n", + "\n", + " drift_away drift_draw \n", + "1 0.024380 0.023873 \n", + "2 0.044446 -0.016034 \n", + "3 0.233352 -0.010093 \n", + "4 0.001408 0.011767 \n", + "5 -0.001958 0.000974 \n", + ".. ... ... \n", + "252 -0.008454 0.000853 \n", + "253 0.110817 -0.086772 \n", + "254 0.003220 -0.007784 \n", + "255 0.091277 0.013168 \n", + "256 0.012543 -0.007754 \n", + "\n", + "[252 rows x 22 columns]" + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bncountrycountry_iddsligamidodds_awayodds_drawodds_homesc1sc2t1t2op_tid1op_tid2winneroddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
10.769231spain792021-01-31 16:00:00+00:00segunda-division-b-group-4j3Y9nKmF3.313.012.2100ucam murciacordoba1607201draw0.4137930.3044380.281769-0.0397830.0243800.023873
20.538462portugal662021-01-31 15:00:00+00:00campeonato-de-portugal0QsOhlr34.963.321.6600canelas 2010sc espinho51446636draw0.5408940.2738490.185257-0.0269030.044446-0.016034
30.538462england252021-01-31 14:00:00+00:00women-s-super-leagueQVy5J7LG32.7915.321.0200manchester city wwest ham w11881859draw0.8973010.0692210.033478-0.0111190.233352-0.010093
40.692308hungary352021-01-31 12:00:00+00:00merkantil-bank-ligaQoKnxPsq3.543.381.9300budaorsi scszolnoki mav53965461draw0.4714560.2724290.256115-0.0089630.0014080.011767
50.076923italy412021-01-31 13:30:00+00:00serie-d-group-i6Xcr5myQ2.672.982.5000s agatasanta maria cilento66135365draw0.3607900.3028250.3363860.000974-0.0019580.000974
.....................................................................
2520.461538world912021-01-31 09:00:00+00:00club-friendly8rRnc5CU2.423.682.4400gwelup croatia sc ausecu joondalup aus76497662draw0.3707480.2494960.3797560.007891-0.0084540.000853
2530.461538spain792021-01-31 11:00:00+00:00tercera-division-group-5SYQqLkB73.712.902.0300granollersue figueres49946560draw0.4379740.3140280.247998-0.0316050.110817-0.086772
2540.076923italy412021-01-31 13:30:00+00:00serie-d-group-bSjlFggSk3.953.051.9000vis nova giussanoscanzorosciate52455420draw0.4757690.2952570.2289740.0032200.003220-0.007784
2550.769231spain792021-01-31 11:00:00+00:00segunda-division-b-group-34KLgJQrk6.723.471.5300ibizaalcoyano38441396draw0.5900450.2631500.146805-0.0355110.0912770.013168
2560.461538italy412021-01-31 13:30:00+00:00serie-d-group-aplCCpCeC3.843.261.8900legnanovado55694941draw0.4806270.2821180.237255-0.0151840.012543-0.007754
\n

252 rows × 22 columns

\n
" + }, + "metadata": {}, + "execution_count": 75 + } + ], + "source": [ + "df_op\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " bn country country_id ds \\\n", + "72 0.846154 germany 32 2021-01-31 14:00:00+00:00 \n", + "143 0.923077 germany 32 2021-01-31 12:00:00+00:00 \n", + "206 0.923077 germany 32 2021-01-31 13:00:00+00:00 \n", + "\n", + " liga mid odds_away odds_draw odds_home sc1 sc2 \\\n", + "72 regionalliga-west 0Onkbtzj 14.65 7.33 1.14 0 0 \n", + "143 3-liga G4toVcV0 2.63 3.50 2.53 0 0 \n", + "206 3-liga bsBOrHa0 4.47 3.37 1.84 0 0 \n", + "\n", + " t1 t2 op_tid1 op_tid2 winner oddsprob_home \\\n", + "72 dortmund ii lotte 4588 3038 draw 0.799656 \n", + "143 duisburg lubeck 1056 4044 draw 0.371608 \n", + "206 munich 1860 zwickau 1193 2159 draw 0.505812 \n", + "\n", + " oddsprob_draw oddsprob_away drift_home drift_away drift_draw \n", + "72 0.134329 0.066015 -0.028469 0.060777 -0.073277 \n", + "143 0.272519 0.355873 -0.030964 0.014786 0.008388 \n", + "206 0.280372 0.213816 0.063097 -0.084783 -0.082277 " + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bncountrycountry_iddsligamidodds_awayodds_drawodds_homesc1sc2t1t2op_tid1op_tid2winneroddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
720.846154germany322021-01-31 14:00:00+00:00regionalliga-west0Onkbtzj14.657.331.1400dortmund iilotte45883038draw0.7996560.1343290.066015-0.0284690.060777-0.073277
1430.923077germany322021-01-31 12:00:00+00:003-ligaG4toVcV02.633.502.5300duisburglubeck10564044draw0.3716080.2725190.355873-0.0309640.0147860.008388
2060.923077germany322021-01-31 13:00:00+00:003-ligabsBOrHa04.473.371.8400munich 1860zwickau11932159draw0.5058120.2803720.2138160.063097-0.084783-0.082277
\n
" + }, + "metadata": {}, + "execution_count": 63 + } + ], + "source": [ + "df_op[(df_op['country']=='germany') & ~(df_op['liga'].str.contains('segunda')) & ~(df_op['liga'].str.contains('tercera'))]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " tid op_tid\n", + "0 1751 3706\n", + "1 1318 1700\n", + "2 519 2986\n", + "3 267 721\n", + "4 614 992\n", + "... ... ...\n", + "1336 1092 2457\n", + "1337 1263 392\n", + "1339 420 1522\n", + "1341 1161 2159\n", + "1342 182 1573\n", + "\n", + "[1158 rows x 2 columns]" + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
tidop_tid
017513706
113181700
25192986
3267721
4614992
.........
133610922457
13371263392
13394201522
134111612159
13421821573
\n

1158 rows × 2 columns

\n
" + }, + "metadata": {}, + "execution_count": 34 + } + ], + "source": [ + "df_teams" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " awayScoreHT country country_id ds homeScoreHT \\\n", + "0 NaN england 15 2021-01-31 12:00:00+00:00 NaN \n", + "1 NaN england 15 2021-01-31 14:00:00+00:00 NaN \n", + "2 NaN england 15 2021-01-31 16:30:00+00:00 NaN \n", + "3 NaN england 15 2021-01-31 19:15:00+00:00 NaN \n", + "4 NaN spain 42 2021-01-31 15:15:00+00:00 NaN \n", + ".. ... ... ... ... ... \n", + "74 NaN austria 2 2021-01-31 13:30:00+00:00 NaN \n", + "75 NaN turkey 45 2021-01-31 13:00:00+00:00 NaN \n", + "76 NaN belgium 4 2021-01-31 12:30:00+00:00 NaN \n", + "77 NaN germany 20 2021-01-31 13:00:00+00:00 NaN \n", + "78 NaN greece 21 2021-01-31 13:00:00+00:00 NaN \n", + "\n", + " liga mid round sc1 sc2 t1 \\\n", + "0 premier-league 8897050 21 NaN NaN chelsea \n", + "1 premier-league 8897051 21 NaN NaN leicester city \n", + "2 premier-league 8897027 21 NaN NaN west ham united \n", + "3 premier-league 8897039 21 NaN NaN brighton hove albion \n", + "4 laliga 8966464 21 NaN NaN cadiz \n", + ".. ... ... ... ... ... ... \n", + "74 bundesliga 8858506 15 NaN NaN skn st polten \n", + "75 tff-1-lig 8917288 19 NaN NaN boluspor \n", + "76 pro-league 8833161 23 NaN NaN club brugge \n", + "77 3-liga 8897913 22 NaN NaN tsv 1860 munchen \n", + "78 super-league 9238612 20 NaN NaN ofi crete \n", + "\n", + " t2 tid1 tid2 winner formation_h formation_a \\\n", + "0 burnley 4 3 draw NaN NaN \n", + "1 leeds united 6 796 draw 4-2-3-1 4-1-4-1 \n", + "2 liverpool 120 181 draw 4-2-3-1 4-3-3 \n", + "3 tottenham 609 274 draw 3-5-2 4-2-3-1 \n", + "4 atletico madrid 940 134 draw 4-4-2 4-4-2 \n", + ".. ... ... ... ... ... ... \n", + "74 wolfsberger ac 1033 330 draw NaN NaN \n", + "75 adana demirspor 410 153 draw NaN NaN \n", + "76 standard liege 82 270 draw NaN NaN \n", + "77 fsv zwickau 296 1161 draw NaN NaN \n", + "78 aek athens 35 548 draw NaN NaN \n", + "\n", + " home_formation away_formation vote_home vote_draw vote_away votes \\\n", + "0 NaN NaN 0.762910 0.160065 0.077026 27770.0 \n", + "1 14.0 12.0 0.689995 0.206004 0.104001 23019.0 \n", + "2 14.0 18.0 0.193081 0.186881 0.620038 28066.0 \n", + "3 9.0 14.0 0.119534 0.192975 0.687491 21609.0 \n", + "4 20.0 20.0 0.126301 0.173107 0.700591 22668.0 \n", + ".. ... ... ... ... ... ... \n", + "74 NaN NaN 0.195041 0.347658 0.457300 1815.0 \n", + "75 NaN NaN 0.223048 0.267658 0.509294 807.0 \n", + "76 NaN NaN 0.663458 0.254644 0.081898 7375.0 \n", + "77 NaN NaN 0.693064 0.254796 0.052140 2033.0 \n", + "78 NaN NaN 0.181906 0.240687 0.577407 4134.0 \n", + "\n", + " y pop_r de elo1 elo2 op_tid1 op_tid1 \\\n", + "0 2021 4.0 2021-01-31 1828.057861 1719.795166 256 256 \n", + "1 2021 3.0 2021-01-31 1821.147705 1676.518799 239 239 \n", + "2 2021 4.0 2021-01-31 1757.818237 1944.577148 444 444 \n", + "3 2021 3.0 2021-01-31 1662.046997 1836.129150 984 984 \n", + "4 2021 3.0 2021-01-31 1598.655518 1927.645752 1588 1588 \n", + ".. ... ... ... ... ... ... ... \n", + "74 2021 0.0 2021-01-31 1419.237427 1550.491699 1395 1395 \n", + "75 2021 0.0 2021-01-31 NaN NaN 6537 6537 \n", + "76 2021 1.0 2021-01-31 1688.555908 1521.353760 562 562 \n", + "77 2021 0.0 2021-01-31 NaN NaN 1193 1193 \n", + "78 2021 0.0 2021-01-31 1275.163452 1516.458130 246 246 \n", + "\n", + " op_tid2 \n", + "0 135 \n", + "1 1503 \n", + "2 1183 \n", + "3 680 \n", + "4 261 \n", + ".. ... \n", + "74 368 \n", + "75 4729 \n", + "76 1355 \n", + "77 2159 \n", + "78 575 \n", + "\n", + "[79 rows x 31 columns]" + ], + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
awayScoreHTcountrycountry_iddshomeScoreHTligamidroundsc1sc2t1t2tid1tid2winnerformation_hformation_ahome_formationaway_formationvote_homevote_drawvote_awayvotesypop_rdeelo1elo2op_tid1op_tid1op_tid2
0NaNengland152021-01-31 12:00:00+00:00NaNpremier-league889705021NaNNaNchelseaburnley43drawNaNNaNNaNNaN0.7629100.1600650.07702627770.020214.02021-01-311828.0578611719.795166256256135
1NaNengland152021-01-31 14:00:00+00:00NaNpremier-league889705121NaNNaNleicester cityleeds united6796draw4-2-3-14-1-4-114.012.00.6899950.2060040.10400123019.020213.02021-01-311821.1477051676.5187992392391503
2NaNengland152021-01-31 16:30:00+00:00NaNpremier-league889702721NaNNaNwest ham unitedliverpool120181draw4-2-3-14-3-314.018.00.1930810.1868810.62003828066.020214.02021-01-311757.8182371944.5771484444441183
3NaNengland152021-01-31 19:15:00+00:00NaNpremier-league889703921NaNNaNbrighton hove albiontottenham609274draw3-5-24-2-3-19.014.00.1195340.1929750.68749121609.020213.02021-01-311662.0469971836.129150984984680
4NaNspain422021-01-31 15:15:00+00:00NaNlaliga896646421NaNNaNcadizatletico madrid940134draw4-4-24-4-220.020.00.1263010.1731070.70059122668.020213.02021-01-311598.6555181927.64575215881588261
................................................................................................
74NaNaustria22021-01-31 13:30:00+00:00NaNbundesliga885850615NaNNaNskn st poltenwolfsberger ac1033330drawNaNNaNNaNNaN0.1950410.3476580.4573001815.020210.02021-01-311419.2374271550.49169913951395368
75NaNturkey452021-01-31 13:00:00+00:00NaNtff-1-lig891728819NaNNaNbolusporadana demirspor410153drawNaNNaNNaNNaN0.2230480.2676580.509294807.020210.02021-01-31NaNNaN653765374729
76NaNbelgium42021-01-31 12:30:00+00:00NaNpro-league883316123NaNNaNclub bruggestandard liege82270drawNaNNaNNaNNaN0.6634580.2546440.0818987375.020211.02021-01-311688.5559081521.3537605625621355
77NaNgermany202021-01-31 13:00:00+00:00NaN3-liga889791322NaNNaNtsv 1860 munchenfsv zwickau2961161drawNaNNaNNaNNaN0.6930640.2547960.0521402033.020210.02021-01-31NaNNaN119311932159
78NaNgreece212021-01-31 13:00:00+00:00NaNsuper-league923861220NaNNaNofi creteaek athens35548drawNaNNaNNaNNaN0.1819060.2406870.5774074134.020210.02021-01-311275.1634521516.458130246246575
\n

79 rows × 31 columns

\n
" + }, + "metadata": {}, + "execution_count": 37 + } + ], + "source": [ + "df=df.merge(df_teams, left_on='tid1', right_on='tid')\n", + "df=df.rename(columns={'op_tid':'op_tid1'})\n", + "df=df.drop(columns=['tid'])\n", + "df=df.merge(df_teams, left_on='tid2', right_on='tid')\n", + "df=df.rename(columns={'op_tid':'op_tid2'})\n", + "df=df.drop(columns=['tid'])\n", + "df\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "df_.to_csv('data/stats_generated.csv', index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "df=pd.read_csv('data/stats_generated.csv', index_col=None)\n", + "df=df.dropna()" + ] + }, + { "cell_type": "code", "execution_count": 82, "metadata": {}, @@ -1395,435 +3127,6 @@ "outputs": [], "source": [] }, - { - "cell_type": "code", - "execution_count": 103, - "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(130140, 187)" - ] - }, - "metadata": {}, - "execution_count": 103 - } - ], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 81, - "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "tt_avg tar_ht1_tt_avg tar_ht2_tt_avg \\\n", - "73 0.000000 0.000000 2.000000 0.000000 \n", - "115 0.000000 0.000000 0.000000 0.000000 \n", - "143 0.000000 0.000000 3.000000 0.000000 \n", - "145 0.000000 0.000000 2.000000 0.000000 \n", - "149 0.000000 1.000000 0.000000 0.000000 \n", - "... ... ... ... ... \n", - "135575 0.208333 0.491667 0.425000 0.650000 \n", - "135576 0.262626 0.434343 0.505051 0.656566 \n", - "135577 0.227273 0.500000 0.363636 0.636364 \n", - "135578 0.315789 0.410526 0.431579 0.515789 \n", - "135579 0.215190 0.259494 0.879747 0.518987 \n", - "\n", - " tar_ft1_tt_avg tar_ft2_tt_avg tar_ps_ht_tt_avg tar_ps_ft_tt_avg \\\n", - "73 3.000000 0.000000 2.000000 3.000000 \n", - "115 2.000000 0.000000 0.000000 2.000000 \n", - "143 6.000000 1.000000 3.000000 5.000000 \n", - "145 4.000000 0.000000 2.000000 4.000000 \n", - "149 0.000000 1.000000 0.000000 -1.000000 \n", - "... ... ... ... ... \n", - "135575 0.966667 1.416667 -0.225000 -0.450000 \n", - "135576 1.080808 1.393939 -0.151515 -0.313131 \n", - "135577 1.000000 1.454545 -0.272727 -0.454545 \n", - "135578 1.021053 1.357895 -0.084211 -0.336842 \n", - "135579 1.784810 1.151899 0.360759 0.632911 \n", - "\n", - " tar_vote1_tt_avg tar_votex_tt_avg tar_vote2_tt_avg tar_elo1_tt_avg \\\n", - "73 0.800165 0.070749 0.129086 2071.864258 \n", - "115 0.129576 0.171123 0.699301 1512.538486 \n", - "143 0.814543 0.092395 0.093062 1512.538486 \n", - "145 0.800570 0.128205 0.071225 1512.538486 \n", - "149 0.161068 0.096469 0.742463 1512.538486 \n", - "... ... ... ... ... \n", - "135575 0.255649 0.266064 0.478287 1399.157367 \n", - "135576 0.302763 0.235111 0.462126 1454.798840 \n", - "135577 0.230233 0.298016 0.471752 1512.538486 \n", - "135578 0.262723 0.286901 0.450376 1286.024429 \n", - "135579 0.568873 0.194163 0.236964 1466.106194 \n", - "\n", - " tar_elo2_tt_avg opp_w1_tt_avg opp_wx_tt_avg opp_w2_tt_avg \\\n", - "73 1687.874878 0.708861 0.189873 0.101266 \n", - "115 1512.538486 0.442748 0.282443 0.274809 \n", - "143 1512.538486 0.408333 0.266667 0.325000 \n", - "145 1512.538486 0.379032 0.274194 0.346774 \n", - "149 1512.538486 0.000000 0.000000 1.000000 \n", - "... ... ... ... ... \n", - "135575 1496.549027 0.250000 0.250000 0.500000 \n", - "135576 1513.654585 0.250000 0.250000 0.500000 \n", - "135577 1512.538486 0.714286 0.142857 0.142857 \n", - "135578 1360.001905 0.500000 0.204545 0.295455 \n", - "135579 1432.634170 0.433333 0.133333 0.433333 \n", - "\n", - " opp_ht1_tt_avg opp_ht2_tt_avg opp_ft1_tt_avg opp_ft2_tt_avg \\\n", - "73 0.740506 0.208861 1.753165 0.569620 \n", - "115 0.687023 0.519084 1.549618 1.282443 \n", - "143 0.633333 0.600000 1.375000 1.350000 \n", - "145 0.588710 0.435484 1.241935 1.088710 \n", - "149 0.333333 0.666667 0.333333 1.666667 \n", - "... ... ... ... ... \n", - "135575 0.375000 0.375000 1.125000 1.250000 \n", - "135576 0.333333 1.166667 1.250000 2.083333 \n", - "135577 0.571429 0.285714 1.428571 1.000000 \n", - "135578 0.727273 0.477273 1.715909 1.056818 \n", - "135579 0.600000 0.866667 1.300000 1.566667 \n", - "\n", - " opp_ps_ht_tt_avg opp_ps_ft_tt_avg opp_vote1_tt_avg \\\n", - "73 0.531646 1.183544 0.670008 \n", - "115 0.167939 0.267176 0.468394 \n", - "143 0.033333 0.025000 0.424112 \n", - "145 0.153226 0.153226 0.480576 \n", - "149 -0.333333 -1.333333 0.268697 \n", - "... ... ... ... \n", - "135575 0.000000 -0.125000 0.431636 \n", - "135576 -0.833333 -0.833333 0.229689 \n", - "135577 0.285714 0.428571 0.481423 \n", - "135578 0.250000 0.659091 0.517677 \n", - "135579 -0.266667 -0.266667 0.384568 \n", - "\n", - " opp_votex_tt_avg opp_vote2_tt_avg opp_elo1_tt_avg opp_elo2_tt_avg \\\n", - "73 0.158180 0.171812 1900.639220 1733.990657 \n", - "115 0.212063 0.319543 1704.799281 1731.814017 \n", - "143 0.228192 0.347695 1516.987152 1561.128075 \n", - "145 0.243777 0.275648 1635.100106 1647.897169 \n", - "149 0.151828 0.579475 1512.538486 1512.538486 \n", - "... ... ... ... ... \n", - "135575 0.272441 0.295922 1512.538486 1512.538486 \n", - "135576 0.290508 0.479802 1512.538486 1512.538486 \n", - "135577 0.312175 0.206401 1512.538486 1512.538486 \n", - "135578 0.237200 0.245123 1430.607804 1402.993755 \n", - "135579 0.214804 0.400628 1433.575904 1465.769550 \n", - "\n", - " tar_w1_ts_avg tar_wx_ts_avg tar_w2_ts_avg tar_ht1_ts_avg \\\n", - "73 1.000000 0.000000 0.000000 2.000000 \n", - "115 1.000000 0.000000 0.000000 0.000000 \n", - "143 1.000000 0.000000 0.000000 3.000000 \n", - "145 1.000000 0.000000 0.000000 2.000000 \n", - "149 0.000000 0.000000 1.000000 0.000000 \n", - "... ... ... ... ... \n", - "135575 0.283333 0.216667 0.500000 0.366667 \n", - "135576 0.224490 0.285714 0.489796 0.387755 \n", - "135577 0.333333 0.111111 0.555556 0.666667 \n", - "135578 0.191489 0.340426 0.468085 0.340426 \n", - "135579 0.486486 0.243243 0.270270 0.918919 \n", - "\n", - " tar_ht2_ts_avg tar_ft1_ts_avg tar_ft2_ts_avg tar_ps_ht_ts_avg \\\n", - "73 0.000000 3.000000 0.000000 2.000000 \n", - "115 0.000000 2.000000 0.000000 0.000000 \n", - "143 0.000000 6.000000 1.000000 3.000000 \n", - "145 0.000000 4.000000 0.000000 2.000000 \n", - "149 0.000000 0.000000 1.000000 0.000000 \n", - "... ... ... ... ... \n", - "135575 0.616667 0.866667 1.366667 -0.250000 \n", - "135576 0.816327 0.938776 1.571429 -0.428571 \n", - "135577 0.444444 1.000000 1.555556 0.222222 \n", - "135578 0.702128 0.936170 1.574468 -0.361702 \n", - "135579 0.558559 1.774775 1.216216 0.360360 \n", - "\n", - " tar_ps_ft_ts_avg tar_vote1_ts_avg tar_votex_ts_avg \\\n", - "73 3.000000 0.800165 0.070749 \n", - "115 2.000000 0.129576 0.171123 \n", - "143 5.000000 0.814543 0.092395 \n", - "145 4.000000 0.800570 0.128205 \n", - "149 -1.000000 0.161068 0.096469 \n", - "... ... ... ... \n", - "135575 -0.500000 0.155670 0.258575 \n", - "135576 -0.632653 0.177217 0.234965 \n", - "135577 -0.555556 0.108789 0.279229 \n", - "135578 -0.638298 0.144103 0.278918 \n", - "135579 0.558559 0.564439 0.197249 \n", - "\n", - " tar_vote2_ts_avg tar_elo1_ts_avg tar_elo2_ts_avg opp_w1_ts_avg \\\n", - "73 0.129086 2071.864258 1687.874878 0.000000 \n", - "115 0.699301 1512.538486 1512.538486 1.000000 \n", - "143 0.093062 1512.538486 1512.538486 0.000000 \n", - "145 0.071225 1512.538486 1512.538486 0.000000 \n", - "149 0.742463 1512.538486 1512.538486 0.000000 \n", - "... ... ... ... ... \n", - "135575 0.585755 1400.155820 1490.849094 0.250000 \n", - "135576 0.587818 1458.094223 1516.193138 0.250000 \n", - "135577 0.611983 1512.538486 1512.538486 0.714286 \n", - "135578 0.576980 1283.879600 1362.846871 0.500000 \n", - "135579 0.238312 1454.664049 1392.435630 0.433333 \n", - "\n", - " opp_wx_ts_avg opp_w2_ts_avg opp_ht1_ts_avg opp_ht2_ts_avg \\\n", - "73 0.000000 1.000000 0.000000 2.000000 \n", - "115 0.000000 0.000000 0.000000 0.000000 \n", - "143 0.000000 1.000000 0.000000 3.000000 \n", - "145 0.000000 1.000000 2.000000 0.000000 \n", - "149 0.000000 1.000000 0.000000 1.000000 \n", - "... ... ... ... ... \n", - "135575 0.250000 0.500000 0.375000 0.375000 \n", - "135576 0.250000 0.500000 0.333333 1.166667 \n", - "135577 0.142857 0.142857 0.571429 0.285714 \n", - "135578 0.204545 0.295455 0.727273 0.477273 \n", - "135579 0.133333 0.433333 0.600000 0.866667 \n", - "\n", - " opp_ft1_ts_avg opp_ft2_ts_avg opp_ps_ht_ts_avg opp_ps_ft_ts_avg \\\n", - "73 1.000000 3.000000 -2.000000 -2.000000 \n", - "115 2.000000 0.000000 0.000000 2.000000 \n", - "143 1.000000 6.000000 -3.000000 -5.000000 \n", - "145 2.000000 3.000000 2.000000 -1.000000 \n", - "149 0.000000 2.000000 -1.000000 -2.000000 \n", - "... ... ... ... ... \n", - "135575 1.125000 1.250000 0.000000 -0.125000 \n", - "135576 1.250000 2.083333 -0.833333 -0.833333 \n", - "135577 1.428571 1.000000 0.285714 0.428571 \n", - "135578 1.715909 1.056818 0.250000 0.659091 \n", - "135579 1.300000 1.566667 -0.266667 -0.266667 \n", - "\n", - " opp_vote1_ts_avg opp_votex_ts_avg opp_vote2_ts_avg opp_elo1_ts_avg \\\n", - "73 0.329731 0.133564 0.536705 1961.808838 \n", - "115 0.143436 0.179294 0.677270 1512.538486 \n", - "143 0.093062 0.092395 0.814543 1512.538486 \n", - "145 0.634093 0.196526 0.169381 1512.538486 \n", - "149 0.089991 0.067034 0.842975 1512.538486 \n", - "... ... ... ... ... \n", - "135575 0.431636 0.272441 0.295922 1512.538486 \n", - "135576 0.229689 0.290508 0.479802 1512.538486 \n", - "135577 0.481423 0.312175 0.206401 1512.538486 \n", - "135578 0.517677 0.237200 0.245123 1430.607804 \n", - "135579 0.384568 0.214804 0.400628 1433.575904 \n", - "\n", - " opp_elo2_ts_avg diff_w1_tt_avg diff_wx_tt_avg diff_w2_tt_avg \\\n", - "73 2003.151367 0.291139 -0.189873 -0.101266 \n", - "115 1512.538486 0.557252 -0.282443 -0.274809 \n", - "143 1512.538486 0.591667 -0.266667 -0.325000 \n", - "145 1512.538486 0.620968 -0.274194 -0.346774 \n", - "149 1512.538486 0.000000 0.000000 0.000000 \n", - "... ... ... ... ... \n", - "135575 1512.538486 0.050000 -0.041667 -0.008333 \n", - "135576 1512.538486 0.053030 0.012626 -0.065657 \n", - "135577 1512.538486 -0.441558 0.084416 0.357143 \n", - "135578 1402.993755 -0.226316 0.111244 0.115072 \n", - "135579 1465.769550 0.091983 0.081857 -0.173840 \n", - "\n", - " diff_ht1_tt_avg diff_ht2_tt_avg diff_ft1_tt_avg diff_ft2_tt_avg \\\n", - "73 1.259494 -0.208861 1.246835 -0.569620 \n", - "115 -0.687023 -0.519084 0.450382 -1.282443 \n", - "143 2.366667 -0.600000 4.625000 -0.350000 \n", - "145 1.411290 -0.435484 2.758065 -1.088710 \n", - "149 -0.333333 -0.666667 -0.333333 -0.666667 \n", - "... ... ... ... ... \n", - "135575 0.050000 0.275000 -0.158333 0.166667 \n", - "135576 0.171717 -0.510101 -0.169192 -0.689394 \n", - "135577 -0.207792 0.350649 -0.428571 0.454545 \n", - "135578 -0.295694 0.038517 -0.694856 0.301077 \n", - "135579 0.279747 -0.347679 0.484810 -0.414768 \n", - "\n", - " diff_ps_ht_tt_avg diff_ps_ft_tt_avg diff_vote1_tt_avg \\\n", - "73 1.468354 1.816456 0.130158 \n", - "115 -0.167939 1.732824 -0.338818 \n", - "143 2.966667 4.975000 0.390431 \n", - "145 1.846774 3.846774 0.319994 \n", - "149 0.333333 0.333333 -0.107629 \n", - "... ... ... ... \n", - "135575 -0.225000 -0.325000 -0.175987 \n", - "135576 0.681818 0.520202 0.073074 \n", - "135577 -0.558442 -0.883117 -0.251191 \n", - "135578 -0.334211 -0.995933 -0.254954 \n", - "135579 0.627426 0.899578 0.184305 \n", - "\n", - " diff_votex_tt_avg diff_vote2_tt_avg diff_elo1_tt_avg \\\n", - "73 -0.087431 -0.042727 1.712250e+02 \n", - "115 -0.040940 0.379758 -1.922608e+02 \n", - "143 -0.135797 -0.254633 -4.448666e+00 \n", - "145 -0.115572 -0.204422 -1.225616e+02 \n", - "149 -0.055360 0.162988 2.273737e-13 \n", - "... ... ... ... \n", - "135575 -0.006378 0.182365 -1.133811e+02 \n", - "135576 -0.055397 -0.017677 -5.773965e+01 \n", - "135577 -0.014160 0.265350 -6.821210e-13 \n", - "135578 0.049701 0.205253 -1.445834e+02 \n", - "135579 -0.020641 -0.163664 3.253029e+01 \n", - "\n", - " diff_elo2_tt_avg diff_w1_ts_avg diff_wx_ts_avg diff_w2_ts_avg \\\n", - "73 -4.611578e+01 1.000000 0.000000 -1.000000 \n", - "115 -2.192755e+02 0.000000 0.000000 0.000000 \n", - "143 -4.858959e+01 1.000000 0.000000 -1.000000 \n", - "145 -1.353587e+02 1.000000 0.000000 -1.000000 \n", - "149 2.273737e-13 0.000000 0.000000 0.000000 \n", - "... ... ... ... ... \n", - "135575 -1.598946e+01 0.033333 -0.033333 0.000000 \n", - "135576 1.116099e+00 -0.025510 0.035714 -0.010204 \n", - "135577 -6.821210e-13 -0.380952 -0.031746 0.412698 \n", - "135578 -4.299185e+01 -0.308511 0.135880 0.172631 \n", - "135579 -3.313538e+01 0.053153 0.109910 -0.163063 \n", - "\n", - " diff_ht1_ts_avg diff_ht2_ts_avg diff_ft1_ts_avg diff_ft2_ts_avg \\\n", - "73 2.000000 -2.000000 2.000000 -3.000000 \n", - "115 0.000000 0.000000 0.000000 0.000000 \n", - "143 3.000000 -3.000000 5.000000 -5.000000 \n", - "145 0.000000 0.000000 2.000000 -3.000000 \n", - "149 0.000000 -1.000000 0.000000 -1.000000 \n", - "... ... ... ... ... \n", - "135575 -0.008333 0.241667 -0.258333 0.116667 \n", - "135576 0.054422 -0.350340 -0.311224 -0.511905 \n", - "135577 0.095238 0.158730 -0.428571 0.555556 \n", - "135578 -0.386847 0.224855 -0.779739 0.517650 \n", - "135579 0.318919 -0.308108 0.474775 -0.350450 \n", - "\n", - " diff_ps_ht_ts_avg diff_ps_ft_ts_avg diff_vote1_ts_avg \\\n", - "73 4.000000 5.000000 0.470435 \n", - "115 0.000000 0.000000 -0.013859 \n", - "143 6.000000 10.000000 0.721481 \n", - "145 0.000000 5.000000 0.166476 \n", - "149 1.000000 1.000000 0.071077 \n", - "... ... ... ... \n", - "135575 -0.250000 -0.375000 -0.275966 \n", - "135576 0.404762 0.200680 -0.052472 \n", - "135577 -0.063492 -0.984127 -0.372634 \n", - "135578 -0.611702 -1.297389 -0.373574 \n", - "135579 0.627027 0.825225 0.179871 \n", - "\n", - " diff_votex_ts_avg diff_vote2_ts_avg diff_elo1_ts_avg \\\n", - "73 -0.062816 -0.407619 110.055420 \n", - "115 -0.008171 0.022031 0.000000 \n", - "143 0.000000 -0.721481 0.000000 \n", - "145 -0.068320 -0.098156 0.000000 \n", - "149 0.029435 -0.100512 0.000000 \n", - "... ... ... ... \n", - "135575 -0.013866 0.289833 -112.382666 \n", - "135576 -0.055544 0.108016 -54.444263 \n", - "135577 -0.032947 0.405581 0.000000 \n", - "135578 0.041718 0.331856 -146.728203 \n", - "135579 -0.017555 -0.162316 21.088145 \n", - "\n", - " diff_elo2_ts_avg diff_vote12 diff_elo \n", - "73 -315.276489 0.437832 0.000000 \n", - "115 0.000000 0.244866 -33.351196 \n", - "143 0.000000 0.734504 321.749268 \n", - "145 0.000000 0.603317 65.832764 \n", - "149 0.000000 0.386328 0.000000 \n", - "... ... ... ... \n", - "135575 -21.689392 0.400749 0.000000 \n", - "135576 3.654652 -0.080490 0.000000 \n", - "135577 0.000000 -0.552807 0.000000 \n", - "135578 -40.146884 -0.555220 -67.209839 \n", - "135579 -73.333920 0.517467 266.684692 \n", - "\n", - "[130140 rows x 114 columns]" - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnersidecountry_idrounddsdeform1form2vote1votexvote2pop_relo1elo2tar_w1_tt_avgtar_wx_tt_avgtar_w2_tt_avgtar_ht1_tt_avgtar_ht2_tt_avgtar_ft1_tt_avgtar_ft2_tt_avgtar_ps_ht_tt_avgtar_ps_ft_tt_avgtar_vote1_tt_avgtar_votex_tt_avgtar_vote2_tt_avgtar_elo1_tt_avgtar_elo2_tt_avgopp_w1_tt_avgopp_wx_tt_avgopp_w2_tt_avgopp_ht1_tt_avgopp_ht2_tt_avgopp_ft1_tt_avgopp_ft2_tt_avgopp_ps_ht_tt_avgopp_ps_ft_tt_avgopp_vote1_tt_avgopp_votex_tt_avgopp_vote2_tt_avgopp_elo1_tt_avgopp_elo2_tt_avgtar_w1_ts_avgtar_wx_ts_avgtar_w2_ts_avgtar_ht1_ts_avgtar_ht2_ts_avgtar_ft1_ts_avgtar_ft2_ts_avgtar_ps_ht_ts_avgtar_ps_ft_ts_avgtar_vote1_ts_avgtar_votex_ts_avgtar_vote2_ts_avgtar_elo1_ts_avgtar_elo2_ts_avgopp_w1_ts_avgopp_wx_ts_avgopp_w2_ts_avgopp_ht1_ts_avgopp_ht2_ts_avgopp_ft1_ts_avgopp_ft2_ts_avgopp_ps_ht_ts_avgopp_ps_ft_ts_avgopp_vote1_ts_avgopp_votex_ts_avgopp_vote2_ts_avgopp_elo1_ts_avgopp_elo2_ts_avgdiff_w1_tt_avgdiff_wx_tt_avgdiff_w2_tt_avgdiff_ht1_tt_avgdiff_ht2_tt_avgdiff_ft1_tt_avgdiff_ft2_tt_avgdiff_ps_ht_tt_avgdiff_ps_ft_tt_avgdiff_vote1_tt_avgdiff_votex_tt_avgdiff_vote2_tt_avgdiff_elo1_tt_avgdiff_elo2_tt_avgdiff_w1_ts_avgdiff_wx_ts_avgdiff_w2_ts_avgdiff_ht1_ts_avgdiff_ht2_ts_avgdiff_ft1_ts_avgdiff_ft2_ts_avgdiff_ps_ht_ts_avgdiff_ps_ft_ts_avgdiff_vote1_ts_avgdiff_votex_ts_avgdiff_vote2_ts_avgdiff_elo1_ts_avgdiff_elo2_ts_avgdiff_vote12diff_elo
73spaincopa-del-rey657026142015-01-15 19:00:00+00:00real madridatletico madrid91340102.02.0draw14242015-01-15 19:00:00+00:002015-01-1518200.6716970.0944380.23386541512.5384861512.5384861.0000000.0000000.0000002.0000000.0000003.0000000.0000002.0000003.0000000.8001650.0707490.1290862071.8642581687.8748780.7088610.1898730.1012660.7405060.2088611.7531650.5696200.5316461.1835440.6700080.1581800.1718121900.6392201733.9906571.0000000.0000000.0000002.0000000.0000003.0000000.0000002.0000003.0000000.8001650.0707490.1290862071.8642581687.8748780.0000000.0000001.0000000.0000002.0000001.0000003.000000-2.000000-2.0000000.3297310.1335640.5367051961.8088382003.1513670.291139-0.189873-0.1012661.259494-0.2088611.246835-0.5696201.4683541.8164560.130158-0.087431-0.0427271.712250e+02-4.611578e+011.0000000.000000-1.0000002.000000-2.0000002.000000-3.0000004.0000005.0000000.470435-0.062816-0.407619110.055420-315.2764890.4378320.000000
115spainlaliga5764480192015-01-17 21:00:00+00:00espanyolcelta vigo59171001.00.0home142192015-01-17 21:00:00+00:002015-01-172070.5000000.2448660.25513431686.4461671719.7973631.0000000.0000000.0000000.0000000.0000002.0000000.0000000.0000002.0000000.1295760.1711230.6993011512.5384861512.5384860.4427480.2824430.2748090.6870230.5190841.5496181.2824430.1679390.2671760.4683940.2120630.3195431704.7992811731.8140171.0000000.0000000.0000000.0000000.0000002.0000000.0000000.0000002.0000000.1295760.1711230.6993011512.5384861512.5384861.0000000.0000000.0000000.0000000.0000002.0000000.0000000.0000002.0000000.1434360.1792940.6772701512.5384861512.5384860.557252-0.282443-0.274809-0.687023-0.5190840.450382-1.282443-0.1679391.732824-0.338818-0.0409400.379758-1.922608e+02-2.192755e+020.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000-0.013859-0.0081710.0220310.0000000.0000000.244866-33.351196
143italyserie-a5786106192015-01-18 19:45:00+00:00juventushellas verona73331004.00.0home124192015-01-18 19:45:00+00:002015-01-1816230.8264460.0816120.09194241891.5113531569.7620851.0000000.0000000.0000003.0000000.0000006.0000001.0000003.0000005.0000000.8145430.0923950.0930621512.5384861512.5384860.4083330.2666670.3250000.6333330.6000001.3750001.3500000.0333330.0250000.4241120.2281920.3476951516.9871521561.1280751.0000000.0000000.0000003.0000000.0000006.0000001.0000003.0000005.0000000.8145430.0923950.0930621512.5384861512.5384860.0000000.0000001.0000000.0000003.0000001.0000006.000000-3.000000-5.0000000.0930620.0923950.8145431512.5384861512.5384860.591667-0.266667-0.3250002.366667-0.6000004.625000-0.3500002.9666674.9750000.390431-0.135797-0.254633-4.448666e+00-4.858959e+011.0000000.000000-1.0000003.000000-3.0000005.000000-5.0000006.00000010.0000000.7214810.000000-0.7214810.0000000.0000000.734504321.749268
145spainlaliga5764484192015-01-18 20:00:00+00:00sevillamalaga71121002.00.0home142192015-01-18 20:00:00+00:002015-01-1814140.7225460.1582250.11922941830.2445071764.4117431.0000000.0000000.0000002.0000000.0000004.0000000.0000002.0000004.0000000.8005700.1282050.0712251512.5384861512.5384860.3790320.2741940.3467740.5887100.4354841.2419351.0887100.1532260.1532260.4805760.2437770.2756481635.1001061647.8971691.0000000.0000000.0000002.0000000.0000004.0000000.0000002.0000004.0000000.8005700.1282050.0712251512.5384861512.5384860.0000000.0000001.0000002.0000000.0000002.0000003.0000002.000000-1.0000000.6340930.1965260.1693811512.5384861512.5384860.620968-0.274194-0.3467741.411290-0.4354842.758065-1.0887101.8467743.8467740.319994-0.115572-0.204422-1.225616e+02-1.353587e+021.0000000.000000-1.0000000.0000000.0000002.000000-3.0000000.0000005.0000000.166476-0.068320-0.0981560.0000000.0000000.60331765.832764
149asiaafc-asian-cup-group-c525251832015-01-19 09:00:00+00:00qatarbahrain7213760011.02.0away1132015-01-19 09:00:00+00:002015-01-1914200.5818760.2225760.19554821512.5384861512.5384860.0000000.0000001.0000000.0000000.0000000.0000001.0000000.000000-1.0000000.1610680.0964690.7424631512.5384861512.5384860.0000000.0000001.0000000.3333330.6666670.3333331.666667-0.333333-1.3333330.2686970.1518280.5794751512.5384861512.5384860.0000000.0000001.0000000.0000000.0000000.0000001.0000000.000000-1.0000000.1610680.0964690.7424631512.5384861512.5384860.0000000.0000001.0000000.0000001.0000000.0000002.000000-1.000000-2.0000000.0899910.0670340.8429751512.5384861512.5384860.0000000.0000000.000000-0.333333-0.666667-0.333333-0.6666670.3333330.333333-0.107629-0.0553600.1629882.273737e-132.273737e-130.0000000.0000000.0000000.000000-1.0000000.000000-1.0000001.0000001.0000000.0710770.029435-0.1005120.0000000.0000000.3863280.000000
.........................................................................................................................................................................................................................................................................................................................................................
135575portugalsegunda-liga8956894152021-01-10 15:00:00+00:00feirenseud oliveirense2802830010.01.0home033152021-01-10 15:00:00+00:002021-01-1018180.5610490.2786520.16030001512.5384861512.5384860.3000000.2083330.4916670.4250000.6500000.9666671.416667-0.225000-0.4500000.2556490.2660640.4782871399.1573671496.5490270.2500000.2500000.5000000.3750000.3750001.1250001.2500000.000000-0.1250000.4316360.2724410.2959221512.5384861512.5384860.2833330.2166670.5000000.3666670.6166670.8666671.366667-0.250000-0.5000000.1556700.2585750.5857551400.1558201490.8490940.2500000.2500000.5000000.3750000.3750001.1250001.2500000.000000-0.1250000.4316360.2724410.2959221512.5384861512.5384860.050000-0.041667-0.0083330.0500000.275000-0.1583330.166667-0.225000-0.325000-0.175987-0.0063780.182365-1.133811e+02-1.598946e+010.033333-0.0333330.000000-0.0083330.241667-0.2583330.116667-0.250000-0.375000-0.275966-0.0138660.289833-112.382666-21.6893920.4007490.000000
135576portugalsegunda-liga8956856152021-01-10 17:00:00+00:00aroucacasa pia3916470101.01.0draw033152021-01-10 17:00:00+00:002021-01-1020200.2585300.4024500.33902001512.5384861512.5384860.3030300.2626260.4343430.5050510.6565661.0808081.393939-0.151515-0.3131310.3027630.2351110.4621261454.7988401513.6545850.2500000.2500000.5000000.3333331.1666671.2500002.083333-0.833333-0.8333330.2296890.2905080.4798021512.5384861512.5384860.2244900.2857140.4897960.3877550.8163270.9387761.571429-0.428571-0.6326530.1772170.2349650.5878181458.0942231516.1931380.2500000.2500000.5000000.3333331.1666671.2500002.083333-0.833333-0.8333330.2296890.2905080.4798021512.5384861512.5384860.0530300.012626-0.0656570.171717-0.510101-0.169192-0.6893940.6818180.5202020.073074-0.055397-0.017677-5.773965e+011.116099e+00-0.0255100.035714-0.0102040.054422-0.350340-0.311224-0.5119050.4047620.200680-0.052472-0.0555440.108016-54.4442633.654652-0.0804900.000000
135577portugalsegunda-liga8956724152021-01-10 17:00:00+00:00cd cova da piedadefc vizela129317480011.02.0home033152021-01-10 17:00:00+00:002021-01-1020180.0802140.2867650.63302101512.5384861512.5384860.2727270.2272730.5000000.3636360.6363641.0000001.454545-0.272727-0.4545450.2302330.2980160.4717521512.5384861512.5384860.7142860.1428570.1428570.5714290.2857141.4285711.0000000.2857140.4285710.4814230.3121750.2064011512.5384861512.5384860.3333330.1111110.5555560.6666670.4444441.0000001.5555560.222222-0.5555560.1087890.2792290.6119831512.5384861512.5384860.7142860.1428570.1428570.5714290.2857141.4285711.0000000.2857140.4285710.4814230.3121750.2064011512.5384861512.538486-0.4415580.0844160.357143-0.2077920.350649-0.4285710.454545-0.558442-0.883117-0.251191-0.0141600.265350-6.821210e-13-6.821210e-13-0.380952-0.0317460.4126980.0952380.158730-0.4285710.555556-0.063492-0.984127-0.372634-0.0329470.4055810.0000000.000000-0.5528070.000000
135578romanialiga-i9270007122021-01-10 17:00:00+00:00fc hermannstadtfc viitorul constanta14995940011.02.0home034122021-01-10 17:00:00+00:002021-01-1014180.0685890.3076030.62380801285.4780271352.6878660.2736840.3157890.4105260.4315790.5157891.0210531.357895-0.084211-0.3368420.2627230.2869010.4503761286.0244291360.0019050.5000000.2045450.2954550.7272730.4772731.7159091.0568180.2500000.6590910.5176770.2372000.2451231430.6078041402.9937550.1914890.3404260.4680850.3404260.7021280.9361701.574468-0.361702-0.6382980.1441030.2789180.5769801283.8796001362.8468710.5000000.2045450.2954550.7272730.4772731.7159091.0568180.2500000.6590910.5176770.2372000.2451231430.6078041402.993755-0.2263160.1112440.115072-0.2956940.038517-0.6948560.301077-0.334211-0.995933-0.2549540.0497010.205253-1.445834e+02-4.299185e+01-0.3085110.1358800.172631-0.3868470.224855-0.7797390.517650-0.611702-1.297389-0.3735740.0417180.331856-146.728203-40.146884-0.555220-67.209839
135579scotlandpremiership8736289232021-01-10 15:00:00+00:00rangersaberdeen3066851002.01.0away036232021-01-10 15:00:00+00:002021-01-101850.6476230.2222220.13015521699.7360841433.0513920.5253160.2151900.2594940.8797470.5189871.7848101.1518990.3607590.6329110.5688730.1941630.2369641466.1061941432.6341700.4333330.1333330.4333330.6000000.8666671.3000001.566667-0.266667-0.2666670.3845680.2148040.4006281433.5759041465.7695500.4864860.2432430.2702700.9189190.5585591.7747751.2162160.3603600.5585590.5644390.1972490.2383121454.6640491392.4356300.4333330.1333330.4333330.6000000.8666671.3000001.566667-0.266667-0.2666670.3845680.2148040.4006281433.5759041465.7695500.0919830.081857-0.1738400.279747-0.3476790.484810-0.4147680.6274260.8995780.184305-0.020641-0.1636643.253029e+01-3.313538e+010.0531530.109910-0.1630630.318919-0.3081080.474775-0.3504500.6270270.8252250.179871-0.017555-0.16231621.088145-73.3339200.517467266.684692
\n

130140 rows × 114 columns

\n
" - }, - "metadata": {}, - "execution_count": 81 - } - ], - "source": [ - "COL_NUM=['pop_r', 'elo1', 'elo2']" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " country liga mid round ds \\\n", - "67450 greece super-league 9197411 11 2020-12-05 17:30:00+00:00 \n", - "135240 greece super-league 9197411 11 2020-12-05 17:30:00+00:00 \n", - "\n", - " t1 t2 tid1 tid2 w1 wx w2 ft1 ft2 winner side \\\n", - "67450 olympiacos volos nfc 319 1653 1 0 0 4.0 1.0 home 1 \n", - "135240 volos nfc olympiacos 1653 319 0 0 1 1.0 4.0 home 0 \n", - "\n", - " country_id round ds de form1 \\\n", - "67450 21 11 2020-12-05 17:30:00+00:00 2020-12-05 14 \n", - "135240 21 11 2020-12-05 17:30:00+00:00 2020-12-05 14 \n", - "\n", - " form2 vote1 votex vote2 pop_r elo1 elo2 \\\n", - "67450 14 0.776807 0.169688 0.053505 2 1686.436646 1252.658447 \n", - "135240 14 0.053505 0.169688 0.776807 2 1252.658447 1686.436646 \n", - "\n", - " tid_x home_w1_tt_avg home_wx_tt_avg home_w2_tt_avg \\\n", - "67450 319 0.750000 0.132812 0.117188 \n", - "135240 1653 0.270833 0.291667 0.437500 \n", - "\n", - " home_ht1_tt_avg home_ht2_tt_avg home_ft1_tt_avg home_ft2_tt_avg \\\n", - "67450 0.9375 0.234375 2.3125 0.609375 \n", - "135240 0.3125 0.666667 0.9375 1.500000 \n", - "\n", - " home_ps_ht_tt_avg home_ps_ft_tt_avg home_vote1_tt_avg \\\n", - "67450 0.703125 1.703125 0.660547 \n", - "135240 -0.354167 -0.562500 0.232241 \n", - "\n", - " home_votex_tt_avg home_vote2_tt_avg home_elo1_tt_avg \\\n", - "67450 0.160972 0.178481 1664.798659 \n", - "135240 0.277189 0.490570 1296.581658 \n", - "\n", - " home_elo2_tt_avg tid_y w1_th_avg wx_th_avg w2_th_avg ht1_th_avg \\\n", - "67450 1461.905214 319.0 0.75 0.132812 0.117188 0.9375 \n", - "135240 1412.341579 NaN NaN NaN NaN NaN \n", - "\n", - " ht2_th_avg ft1_th_avg ft2_th_avg ps_ht_th_avg ps_ft_th_avg \\\n", - "67450 0.234375 2.3125 0.609375 0.703125 1.703125 \n", - "135240 NaN NaN NaN NaN NaN \n", - "\n", - " vote1_th_avg votex_th_avg vote2_th_avg elo1_th_avg elo2_th_avg \\\n", - "67450 0.660547 0.160972 0.178481 1664.798659 1461.905214 \n", - "135240 NaN NaN NaN NaN NaN \n", - "\n", - " tid_x away_w1_tt_avg away_wx_tt_avg away_w2_tt_avg \\\n", - "67450 1653 0.270833 0.291667 0.437500 \n", - "135240 319 0.750000 0.132812 0.117188 \n", - "\n", - " away_ht1_tt_avg away_ht2_tt_avg away_ft1_tt_avg away_ft2_tt_avg \\\n", - "67450 0.3125 0.666667 0.9375 1.500000 \n", - "135240 0.9375 0.234375 2.3125 0.609375 \n", - "\n", - " away_ps_ht_tt_avg away_ps_ft_tt_avg away_vote1_tt_avg \\\n", - "67450 -0.354167 -0.562500 0.232241 \n", - "135240 0.703125 1.703125 0.660547 \n", - "\n", - " away_votex_tt_avg away_vote2_tt_avg away_elo1_tt_avg \\\n", - "67450 0.277189 0.490570 1296.581658 \n", - "135240 0.160972 0.178481 1664.798659 \n", - "\n", - " away_elo2_tt_avg tid_y w1_ta_avg wx_ta_avg w2_ta_avg ht1_ta_avg \\\n", - "67450 1412.341579 1653.0 0.208333 0.291667 0.5 0.416667 \n", - "135240 1461.905214 NaN NaN NaN NaN NaN \n", - "\n", - " ht2_ta_avg ft1_ta_avg ft2_ta_avg ps_ht_ta_avg ps_ft_ta_avg \\\n", - "67450 0.666667 1.0 1.791667 -0.25 -0.791667 \n", - "135240 NaN NaN NaN NaN NaN \n", - "\n", - " vote1_ta_avg votex_ta_avg vote2_ta_avg elo1_ta_avg elo2_ta_avg \n", - "67450 0.122681 0.26322 0.614099 1300.265222 1419.646438 \n", - "135240 NaN NaN NaN NaN NaN " - ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryligamidrounddst1t2tid1tid2w1wxw2ft1ft2winnersidecountry_idrounddsdeform1form2vote1votexvote2pop_relo1elo2tid_xhome_w1_tt_avghome_wx_tt_avghome_w2_tt_avghome_ht1_tt_avghome_ht2_tt_avghome_ft1_tt_avghome_ft2_tt_avghome_ps_ht_tt_avghome_ps_ft_tt_avghome_vote1_tt_avghome_votex_tt_avghome_vote2_tt_avghome_elo1_tt_avghome_elo2_tt_avgtid_yw1_th_avgwx_th_avgw2_th_avght1_th_avght2_th_avgft1_th_avgft2_th_avgps_ht_th_avgps_ft_th_avgvote1_th_avgvotex_th_avgvote2_th_avgelo1_th_avgelo2_th_avgtid_xaway_w1_tt_avgaway_wx_tt_avgaway_w2_tt_avgaway_ht1_tt_avgaway_ht2_tt_avgaway_ft1_tt_avgaway_ft2_tt_avgaway_ps_ht_tt_avgaway_ps_ft_tt_avgaway_vote1_tt_avgaway_votex_tt_avgaway_vote2_tt_avgaway_elo1_tt_avgaway_elo2_tt_avgtid_yw1_ta_avgwx_ta_avgw2_ta_avght1_ta_avght2_ta_avgft1_ta_avgft2_ta_avgps_ht_ta_avgps_ft_ta_avgvote1_ta_avgvotex_ta_avgvote2_ta_avgelo1_ta_avgelo2_ta_avg
67450greecesuper-league9197411112020-12-05 17:30:00+00:00olympiacosvolos nfc31916531004.01.0home121112020-12-05 17:30:00+00:002020-12-0514140.7768070.1696880.05350521686.4366461252.6584473190.7500000.1328120.1171880.93750.2343752.31250.6093750.7031251.7031250.6605470.1609720.1784811664.7986591461.905214319.00.750.1328120.1171880.93750.2343752.31250.6093750.7031251.7031250.6605470.1609720.1784811664.7986591461.90521416530.2708330.2916670.4375000.31250.6666670.93751.500000-0.354167-0.5625000.2322410.2771890.4905701296.5816581412.3415791653.00.2083330.2916670.50.4166670.6666671.01.791667-0.25-0.7916670.1226810.263220.6140991300.2652221419.646438
135240greecesuper-league9197411112020-12-05 17:30:00+00:00volos nfcolympiacos16533190011.04.0home021112020-12-05 17:30:00+00:002020-12-0514140.0535050.1696880.77680721252.6584471686.43664616530.2708330.2916670.4375000.31250.6666670.93751.500000-0.354167-0.5625000.2322410.2771890.4905701296.5816581412.341579NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3190.7500000.1328120.1171880.93750.2343752.31250.6093750.7031251.7031250.6605470.1609720.1784811664.7986591461.905214NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n
" - }, - "metadata": {}, - "execution_count": 43 - } - ], - "source": [ - "df_[df_['mid']==9197411]" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/dl.py b/dl.py index 8955c2a..2cb3734 100644 --- a/dl.py +++ b/dl.py @@ -60,8 +60,8 @@ # print('*'*20) # print(' LOAD DAYS') # print('*'*20) - # print('-'*5,' Sofa ','-'*5) - # dp.load_days(ds, de) + print('-'*5,' Sofa ','-'*5) + dp.load_days(ds, de) # print('-'*5,' Fbref ','-'*5) # dp.load_fbref_days(ds, de) # print('-'*5,' OP ','-'*5) @@ -77,12 +77,12 @@ # fbp.parse_days() # print('-'*5,' OP ','-'*5) # opp.parse_days() - + # print('*'*20) # print(' LOAD MATCHES') # print('*'*20) - # print('-'*5,' Sofa ','-'*5) - # dp.load_matches() + print('-'*5,' Sofa ','-'*5) + dp.load_matches() # print('-'*5,' Fbref ','-'*5) # dp.load_fbref_matches() # print('-'*5,' OP ','-'*5) @@ -91,9 +91,24 @@ # print('*'*20) # print(' PARSE MATCHES') # print('*'*20) - # print('-'*5,' Sofa ','-'*5) - # ssp.parse_matches() + print('-'*5,' Sofa ','-'*5) + ssp.parse_matches() # print('-'*5,' Fbref ','-'*5) # fbp.parse_matches() - print('-'*5,' OP ','-'*5) - opp.parse_matches() \ No newline at end of file + # print('-'*5,' OP ','-'*5) + # opp.parse_matches() + elif sys.argv[1]=='t': + ds=de='{:%Y-%m-%d}'.format(datetime.today()) + ssp=SofaScoreParser() + fbp=FbrefParser() + opp=OpParser() + print('*'*20) + print(' TODAY MATCHES') + print('*'*20) + # dp.load_days(ds, de) + # dp.load_op_days(ds, de) + # opp.parse_today() + # dp.load_matches() + # dp.load_op_matches_today() + # opp.parse_matches(today=True) + ssp.parse_matches(today='_today') \ No newline at end of file diff --git a/op.ipynb b/op.ipynb index c61ad8b..37c6c2b 100644 --- a/op.ipynb +++ b/op.ipynb @@ -28,9 +28,17 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n %reload_ext autoreload\n" + ] + } + ], "source": [ "import os\n", "import pandas as pd\n", @@ -70,51 +78,99 @@ "#df=dp._provide_odds()" ] }, + { + "source": [ + "## Today" + ], + "cell_type": "markdown", + "metadata": {} + }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - " bn country ds liga mid \\\n", - "0 0.461538 greece 2014-01-18 15:15:00+00:00 super-league xzLYjsqg \n", - "1 0.461538 spain 2013-02-16 17:00:00+00:00 segunda-division M5Tqms6i \n", - "2 0.461538 germany 2013-09-28 13:30:00+00:00 bundesliga EZp8Xc0a \n", - "3 0.846154 france 2019-01-13 20:00:00+00:00 ligue-1 UJjJ4QAp \n", - "4 0.538462 germany 2015-02-01 14:30:00+00:00 bundesliga G25l1ArF \n", + " bn country country_id ds \\\n", + "0 0.307692 world 91 2021-01-30 16:00:00+00:00 \n", + "1 0.923077 costa-rica 18 2021-01-30 23:00:00+00:00 \n", + "2 0.769231 spain 79 2021-01-30 17:00:00+00:00 \n", + "3 0.538462 portugal 66 2021-01-30 12:45:00+00:00 \n", + "4 0.923077 hungary 35 2021-01-30 18:30:00+00:00 \n", + ".. ... ... ... ... \n", + "69 0.923077 netherlands 55 2021-01-30 15:30:00+00:00 \n", + "70 0.461538 mexico 52 2021-01-30 16:00:00+00:00 \n", + "71 0.307692 costa-rica 18 2021-01-30 21:00:00+00:00 \n", + "72 0.384615 costa-rica 18 2021-01-30 21:00:00+00:00 \n", + "73 0.000000 mauritania 50 2021-01-30 16:00:00+00:00 \n", + "\n", + " liga mid odds_away odds_draw odds_home \\\n", + "0 club-friendly 4KPbvRAB 3.23 3.66 1.94 \n", + "1 primera-division 84dUt0iI 5.27 3.72 1.60 \n", + "2 segunda-division-b-group-3 dduy61jr 3.66 2.89 2.14 \n", + "3 campeonato-de-portugal ttkKVdhr 3.93 3.18 1.88 \n", + "4 otp-bank-liga UwTsh0mF 7.76 4.99 1.34 \n", + ".. ... ... ... ... ... \n", + "69 eerste-divisie 2q3XLwhH 1.60 4.16 4.93 \n", + "70 liga-mx-women YZLbXT48 8.91 6.19 1.20 \n", + "71 liga-de-ascenso IsruzuMn 2.86 3.20 2.19 \n", + "72 liga-de-ascenso dzOPeh0b 2.96 3.30 2.11 \n", + "73 ligue-1 xjTSE5IC 2.80 3.00 2.40 \n", + "\n", + " sc1 sc2 t1 t2 tid1 tid2 winner \\\n", + "0 0 0 mariehamn fin ekenas fin 7233 7634 draw \n", + "1 0 0 san carlos sporting san jose 6929 7090 draw \n", + "2 0 0 l hospitalet llagostera 1751 1348 draw \n", + "3 0 0 sb castelo branco marinhense 4495 5434 draw \n", + "4 0 0 mol fehervar honved 57 830 draw \n", + ".. ... ... ... ... ... ... ... \n", + "69 0 0 dordrecht roda 739 551 draw \n", + "70 0 0 atlas w club leon w 6823 7182 draw \n", + "71 0 0 marineros puntarenas fc 7175 7007 draw \n", + "72 0 0 fc desamparados barrio mexico 7394 6815 draw \n", + "73 0 0 sahel ksar 7332 7079 draw \n", "\n", - " odds_away odds_draw odds_home sc1 sc2 t1 \\\n", - "0 27.83 11.00 1.06 2 0 olympiacos piraeus \n", - "1 2.47 3.16 2.85 2 2 guadalajara \n", - "2 17.23 8.23 1.15 1 0 bayern munich \n", - "3 4.42 3.91 1.78 1 1 marseille \n", - "4 3.35 3.45 2.21 2 0 werder bremen \n", + " oddsprob_home oddsprob_draw oddsprob_away drift_home drift_away \\\n", + "0 0.476936 0.249380 0.273684 -0.013190 0.016599 \n", + "1 0.570734 0.247429 0.181836 -0.081817 0.150922 \n", + "2 0.425574 0.318141 0.256285 -0.049443 0.092735 \n", + "3 0.476806 0.285388 0.237805 0.005538 -0.019311 \n", + "4 0.691669 0.187834 0.120497 -0.134903 0.263370 \n", + ".. ... ... ... ... ... \n", + "69 0.194847 0.226595 0.578558 0.140277 -0.094209 \n", + "70 0.750647 0.146476 0.102877 -0.059398 -0.014964 \n", + "71 0.407349 0.280145 0.312506 -0.000097 0.000281 \n", + "72 0.424697 0.273601 0.301702 -0.000041 -0.001353 \n", + "73 0.378653 0.298823 0.322524 0.000240 -0.004385 \n", "\n", - " t2 tid1 tid2 winner oddsprob_home oddsprob_draw \\\n", - "0 levadiakos 0 506 home 0.881373 0.085437 \n", - "1 almeria 1 1444 draw 0.333431 0.298337 \n", - "2 wolfsburg 2 64 home 0.824268 0.117686 \n", - "3 monaco 3 399 draw 0.535805 0.249926 \n", - "4 hertha berlin 4 420 home 0.428344 0.277868 \n", + " drift_draw \n", + "0 0.006015 \n", + "1 0.014233 \n", + "2 -0.022489 \n", + "3 -0.013456 \n", + "4 0.119046 \n", + ".. ... \n", + "69 0.064530 \n", + "70 -0.032911 \n", + "71 -0.000179 \n", + "72 0.001536 \n", + "73 0.004403 \n", "\n", - " oddsprob_away drift_home drift_away drift_draw \n", - "0 0.033191 -0.072516 0.139235 0.086659 \n", - "1 0.368232 -0.055178 0.054568 -0.016432 \n", - "2 0.058046 -0.016230 0.091752 0.039680 \n", - "3 0.214269 0.097888 -0.233988 -0.080705 \n", - "4 0.293787 -0.098189 0.105136 0.010880 " + "[73 rows x 22 columns]" ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bncountrydsligamidodds_awayodds_drawodds_homesc1sc2t1t2tid1tid2winneroddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
00.461538greece2014-01-18 15:15:00+00:00super-leaguexzLYjsqg27.8311.001.0620olympiacos piraeuslevadiakos0506home0.8813730.0854370.033191-0.0725160.1392350.086659
10.461538spain2013-02-16 17:00:00+00:00segunda-divisionM5Tqms6i2.473.162.8522guadalajaraalmeria11444draw0.3334310.2983370.368232-0.0551780.054568-0.016432
20.461538germany2013-09-28 13:30:00+00:00bundesligaEZp8Xc0a17.238.231.1510bayern munichwolfsburg264home0.8242680.1176860.058046-0.0162300.0917520.039680
30.846154france2019-01-13 20:00:00+00:00ligue-1UJjJ4QAp4.423.911.7811marseillemonaco3399draw0.5358050.2499260.2142690.097888-0.233988-0.080705
40.538462germany2015-02-01 14:30:00+00:00bundesligaG25l1ArF3.353.452.2120werder bremenhertha berlin4420home0.4283440.2778680.293787-0.0981890.1051360.010880
\n
" + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
bncountrycountry_iddsligamidodds_awayodds_drawodds_homesc1sc2t1t2tid1tid2winneroddsprob_homeoddsprob_drawoddsprob_awaydrift_homedrift_awaydrift_draw
00.307692world912021-01-30 16:00:00+00:00club-friendly4KPbvRAB3.233.661.9400mariehamn finekenas fin72337634draw0.4769360.2493800.273684-0.0131900.0165990.006015
10.923077costa-rica182021-01-30 23:00:00+00:00primera-division84dUt0iI5.273.721.6000san carlossporting san jose69297090draw0.5707340.2474290.181836-0.0818170.1509220.014233
20.769231spain792021-01-30 17:00:00+00:00segunda-division-b-group-3dduy61jr3.662.892.1400l hospitaletllagostera17511348draw0.4255740.3181410.256285-0.0494430.092735-0.022489
30.538462portugal662021-01-30 12:45:00+00:00campeonato-de-portugalttkKVdhr3.933.181.8800sb castelo brancomarinhense44955434draw0.4768060.2853880.2378050.005538-0.019311-0.013456
40.923077hungary352021-01-30 18:30:00+00:00otp-bank-ligaUwTsh0mF7.764.991.3400mol fehervarhonved57830draw0.6916690.1878340.120497-0.1349030.2633700.119046
.....................................................................
690.923077netherlands552021-01-30 15:30:00+00:00eerste-divisie2q3XLwhH1.604.164.9300dordrechtroda739551draw0.1948470.2265950.5785580.140277-0.0942090.064530
700.461538mexico522021-01-30 16:00:00+00:00liga-mx-womenYZLbXT488.916.191.2000atlas wclub leon w68237182draw0.7506470.1464760.102877-0.059398-0.014964-0.032911
710.307692costa-rica182021-01-30 21:00:00+00:00liga-de-ascensoIsruzuMn2.863.202.1900marinerospuntarenas fc71757007draw0.4073490.2801450.312506-0.0000970.000281-0.000179
720.384615costa-rica182021-01-30 21:00:00+00:00liga-de-ascensodzOPeh0b2.963.302.1100fc desamparadosbarrio mexico73946815draw0.4246970.2736010.301702-0.000041-0.0013530.001536
730.000000mauritania502021-01-30 16:00:00+00:00ligue-1xjTSE5IC2.803.002.4000sahelksar73327079draw0.3786530.2988230.3225240.000240-0.0043850.004403
\n

73 rows × 22 columns

\n
" }, "metadata": {}, - "execution_count": 150 + "execution_count": 10 } ], "source": [ - "df.head()" + "dp=OpDataProvider(today=True)\n", + "df=dp._load_data()\n", + "df" ] }, { diff --git a/pred.ipynb b/pred.ipynb index b1737d3..f5dec7d 100644 --- a/pred.ipynb +++ b/pred.ipynb @@ -28,17 +28,9 @@ "cells": [ { "cell_type": "code", - "execution_count": 207, + "execution_count": 1, "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "The autoreload extension is already loaded. To reload it, use:\n %reload_ext autoreload\n" - ] - } - ], + "outputs": [], "source": [ "import os\n", "import pandas as pd\n", @@ -80,13 +72,14 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "INF=['country', 'liga', 'mid', 'round', 'ds', 't1', 't2','tid1', 'tid2', 'w1', 'wx', 'w2', 'ft1', 'ft2','winner','gd','sch','sca','odds_away','odds_draw','odds_home']\n", "\n", "df_all=pd.read_csv('data/stats_generated.csv', index_col=None)\n", + "df_all=df_all.dropna(subset=['ft1','ft2'])\n", "df_all['vop1']=df_all['vote1']-df_all['oddsprob1']\n", "df_all['vopx']=df_all['votex']-df_all['oddsprobx']\n", "df_all['vop2']=df_all['vote2']-df_all['oddsprob2']\n", @@ -105,13 +98,6 @@ " df_all.loc[df_all[col].isnull(),col]=0\n" ] }, - { - "cell_type": "code", - "execution_count": 111, - "metadata": {}, - "outputs": [], - "source": [] - }, { "source": [ "list(df_all.columns)" @@ -181,45 +167,363 @@ ], "cell_type": "code", "metadata": {}, - "execution_count": 218, + "execution_count": 3, "outputs": [] }, { "cell_type": "code", - "execution_count": 233, + "execution_count": 7, "metadata": { - "tags": [] + "tags": [ + "outputPrepend" + ] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ - "53 ['tar_graph1_tt_avg' 'tar_graph2_tt_avg' 'opp_graph1_tt_avg'\n", - " 'opp_graph2_tt_avg']\n", - "139694\n", - ">0.029\n", - "WAG:8132; ACC: 0.4929906542056075; PRF: 3.1200000000000045; ROI: 0.0003836694540088545\n", - "WAG:7900; ACC: 0.49075949367088606; PRF: 7.5999999999999375; ROI: 0.0009620253164556883\n", - "WAG:11712; ACC: 0.45338114754098363; PRF: -342.13; ROI: -0.029211919398907105\n", - "WAG:11712; ACC: 0.4515881147540984; PRF: -480.46999999999997; ROI: -0.041023736338797814\n" + "5308130907; PRF: -326.76; ROI: -0.025522143247676325\n", + "122 ['tar_offsides1_ts_form' 'tar_offsides2_ts_form' 'opp_offsides1_ts_form'\n", + " 'opp_offsides2_ts_form']\n", + ">0.025\n", + "WAG:9105; ACC: 0.5060955518945635; PRF: 123.81999999999996; ROI: 0.013599121361889068\n", + "WAG:8154; ACC: 0.5068677949472652; PRF: 99.40999999999998; ROI: 0.0121915624233505\n", + "WAG:12803; ACC: 0.4650472545497149; PRF: -332.62; ROI: -0.025979848473014138\n", + "WAG:12803; ACC: 0.46262594704366167; PRF: -365.27; ROI: -0.028530032023744434\n", + "123 ['offsides1_ts_form' 'offsides2_ts_form']\n", + ">0.025\n", + "WAG:9213; ACC: 0.5068924346032779; PRF: 80.51999999999995; ROI: 0.008739824161510904\n", + "WAG:8100; ACC: 0.4982716049382716; PRF: -74.68; ROI: -0.009219753086419754\n", + "WAG:12803; ACC: 0.46465672108099665; PRF: -395.52; ROI: -0.030892759509489963\n", + "WAG:12803; ACC: 0.46567210809966414; PRF: -323.53000000000003; ROI: -0.025269858626884325\n", + "124 ['diff_offsides_ts_form']\n", + ">0.026\n", + "WAG:9119; ACC: 0.4969843184559711; PRF: 62.52999999999999; ROI: 0.0068571115253865545\n", + "WAG:8648; ACC: 0.4921369102682701; PRF: -5.25; ROI: -0.0006070767807585569\n", + "WAG:12803; ACC: 0.4536436772631415; PRF: -591.0600000000001; ROI: -0.046165742404124036\n", + "WAG:12803; ACC: 0.45333125048816686; PRF: -652.0699999999999; ROI: -0.05093103178942435\n", + "125 ['tar_fouls1_tt_avg' 'tar_fouls2_tt_avg' 'opp_fouls1_tt_avg'\n", + " 'opp_fouls2_tt_avg']\n", + ">0.027\n", + "WAG:8786; ACC: 0.489414978374687; PRF: 113.94999999999999; ROI: 0.012969496926929204\n", + "WAG:7904; ACC: 0.4855769230769231; PRF: 105.53999999999999; ROI: 0.013352732793522266\n", + "WAG:12803; ACC: 0.44536436772631416; PRF: -442.22; ROI: -0.0345403421073186\n", + "WAG:12803; ACC: 0.44536436772631416; PRF: -449.1700000000001; ROI: -0.035083183628837\n", + "126 ['fouls1_tt_avg' 'fouls2_tt_avg']\n", + ">0.026\n", + "WAG:9178; ACC: 0.5074090215733276; PRF: 72.41; ROI: 0.007889518413597734\n", + "WAG:8191; ACC: 0.5033573434257111; PRF: -45.95000000000002; ROI: -0.005609815651324627\n", + "WAG:12803; ACC: 0.460517066312583; PRF: -581.38; ROI: -0.04540966960868546\n", + "WAG:12803; ACC: 0.4627040537374053; PRF: -488.82000000000005; ROI: -0.03818011403577287\n", + "127 ['diff_fouls_tt_avg']\n", + ">0.028\n", + "WAG:8767; ACC: 0.48648340367286413; PRF: -63.40000000000001; ROI: -0.007231664195277748\n", + "WAG:8316; ACC: 0.49001924001924; PRF: 126.14999999999999; ROI: 0.015169552669552668\n", + "WAG:12803; ACC: 0.44606732797000703; PRF: -568.37; ROI: -0.044393501523080525\n", + "WAG:12803; ACC: 0.4456767945012888; PRF: -555.6400000000001; ROI: -0.043399203311723825\n", + "128 ['tar_fouls1_tt_form' 'tar_fouls2_tt_form' 'opp_fouls1_tt_form'\n", + " 'opp_fouls2_tt_form']\n", + ">0.025\n", + "WAG:8895; ACC: 0.48791455874086564; PRF: -103.37; ROI: -0.011621135469364812\n", + "WAG:8200; ACC: 0.4871951219512195; PRF: -88.79000000000002; ROI: -0.010828048780487808\n", + "WAG:12803; ACC: 0.44536436772631416; PRF: -683.67; ROI: -0.05339920331172381\n", + "WAG:12803; ACC: 0.4451300476450832; PRF: -780.2700000000001; ROI: -0.06094430992736078\n", + "129 ['fouls1_tt_form' 'fouls2_tt_form']\n", + ">0.027\n", + "WAG:8949; ACC: 0.49569784333445077; PRF: 18.569999999999972; ROI: 0.0020750921890714015\n", + "WAG:8028; ACC: 0.49028400597907323; PRF: -99.15; ROI: -0.01235052316890882\n", + "WAG:12803; ACC: 0.4491915957197532; PRF: -730.87; ROI: -0.05708583925642428\n", + "WAG:12803; ACC: 0.4516910099195501; PRF: -680.58; ROI: -0.053157853628055925\n", + "130 ['diff_fouls_tt_form']\n", + ">0.027\n", + "WAG:9110; ACC: 0.5015367727771679; PRF: 238.44; ROI: 0.02617343578485181\n", + "WAG:8436; ACC: 0.48885727833096254; PRF: 27.450000000000003; ROI: 0.003253911806543386\n", + "WAG:12803; ACC: 0.4539561040381161; PRF: -384.86000000000007; ROI: -0.03006014215418262\n", + "WAG:12803; ACC: 0.44848863547606027; PRF: -487.1; ROI: -0.03804577052253378\n", + "131 ['tar_fouls1_ts_avg' 'tar_fouls2_ts_avg' 'opp_fouls1_ts_avg'\n", + " 'opp_fouls2_ts_avg']\n", + ">0.027\n", + "WAG:9176; ACC: 0.49455100261551876; PRF: -143.17999999999998; ROI: -0.015603748910200521\n", + "WAG:8309; ACC: 0.4873029245396558; PRF: -121.78999999999998; ROI: -0.014657600192562278\n", + "WAG:12803; ACC: 0.45458095758806527; PRF: -543.84; ROI: -0.042477544325548705\n", + "WAG:12803; ACC: 0.4530969304069359; PRF: -476.01; ROI: -0.03717956728891666\n", + "132 ['fouls1_ts_avg' 'fouls2_ts_avg']\n", + ">0.026\n", + "WAG:8794; ACC: 0.4960200136456675; PRF: 182.22999999999996; ROI: 0.020722083238571748\n", + "WAG:7912; ACC: 0.49077350859453994; PRF: 77.31999999999998; ROI: 0.009772497472194133\n", + "WAG:12803; ACC: 0.45536202452550184; PRF: -292.52; ROI: -0.02284777005389362\n", + "WAG:12803; ACC: 0.4517691166132938; PRF: -443.99; ROI: -0.034678590955244865\n", + "133 ['diff_fouls_ts_avg']\n", + ">0.026\n", + "WAG:9394; ACC: 0.5065999574196296; PRF: 141.47; ROI: 0.015059612518628912\n", + "WAG:8511; ACC: 0.5025261426389378; PRF: 52.150000000000006; ROI: 0.006127364587005053\n", + "WAG:12803; ACC: 0.45911114582519724; PRF: -552.4300000000001; ROI: -0.04314848082480669\n", + "WAG:12803; ACC: 0.45614309146293835; PRF: -613.65; ROI: -0.04793017261579317\n", + "134 ['tar_fouls1_ts_form' 'tar_fouls2_ts_form' 'opp_fouls1_ts_form'\n", + " 'opp_fouls2_ts_form']\n", + ">0.028\n", + "WAG:8884; ACC: 0.5004502476361999; PRF: 308.01; ROI: 0.03467019360648357\n", + "WAG:8114; ACC: 0.4955632240571851; PRF: 201.45; ROI: 0.024827458713334975\n", + "WAG:12803; ACC: 0.4513004764508318; PRF: -458.83000000000004; ROI: -0.03583769429040069\n", + "WAG:12803; ACC: 0.4493478091072405; PRF: -464.81; ROI: -0.03630477231898774\n", + "135 ['fouls1_ts_form' 'fouls2_ts_form']\n", + ">0.027\n", + "WAG:8995; ACC: 0.49416342412451364; PRF: 161.51999999999998; ROI: 0.01795664257921067\n", + "WAG:8302; ACC: 0.4924114671163575; PRF: 56.36999999999999; ROI: 0.006789930137316308\n", + "WAG:12803; ACC: 0.4509880496758572; PRF: -415.9700000000001; ROI: -0.03249004139654769\n", + "WAG:12803; ACC: 0.45137858314457546; PRF: -445.58; ROI: -0.03480278059829727\n", + "136 ['diff_fouls_ts_form']\n", + ">0.028\n", + "WAG:9290; ACC: 0.4984930032292788; PRF: 270.99; ROI: 0.029170075349838537\n", + "WAG:8646; ACC: 0.4945639602128152; PRF: 234.71; ROI: 0.027146657413832986\n", + "WAG:12803; ACC: 0.4559868780754511; PRF: -365.3700000000001; ROI: -0.02853784269311881\n", + "WAG:12803; ACC: 0.45622119815668205; PRF: -351.08000000000004; ROI: -0.02742169803952199\n", + "137 ['tar_cards1_tt_avg' 'tar_cards2_tt_avg' 'opp_cards1_tt_avg'\n", + " 'opp_cards2_tt_avg']\n", + ">0.027\n", + "WAG:8575; ACC: 0.49201166180758016; PRF: 105.38999999999999; ROI: 0.012290379008746355\n", + "WAG:8010; ACC: 0.49288389513108616; PRF: 142.37; ROI: 0.01777403245942572\n", + "WAG:12803; ACC: 0.44903538233226586; PRF: -452.43000000000006; ROI: -0.035337811450441306\n", + "WAG:12803; ACC: 0.4536436772631415; PRF: -363.05; ROI: -0.028356635163633525\n", + "138 ['cards1_tt_avg' 'cards2_tt_avg']\n", + ">0.026\n", + "WAG:9100; ACC: 0.5010989010989011; PRF: 67.70999999999998; ROI: 0.007440659340659338\n", + "WAG:8217; ACC: 0.4930023122794207; PRF: -31.569999999999997; ROI: -0.003842034805890227\n", + "WAG:12803; ACC: 0.45872061235647893; PRF: -448.38; ROI: -0.0350214793407795\n", + "WAG:12803; ACC: 0.46036085292509565; PRF: -344.66; ROI: -0.02692025306568773\n", + "139 ['diff_cards_tt_avg']\n", + ">0.026\n", + "WAG:8828; ACC: 0.4912777526053466; PRF: 67.25000000000003; ROI: 0.0076178069777979186\n", + "WAG:8198; ACC: 0.4928031227128568; PRF: 104.63000000000001; ROI: 0.012762868992437181\n", + "WAG:12803; ACC: 0.44794188861985473; PRF: -540.23; ROI: -0.04219557916113411\n", + "WAG:12803; ACC: 0.4516910099195501; PRF: -524.5600000000001; ROI: -0.04097164727017106\n", + "140 ['tar_cards1_tt_form' 'tar_cards2_tt_form' 'opp_cards1_tt_form'\n", + " 'opp_cards2_tt_form']\n", + ">0.024\n", + "WAG:8703; ACC: 0.5035045386648282; PRF: 147.35999999999999; ROI: 0.016932092381937262\n", + "WAG:8172; ACC: 0.5040381791483113; PRF: 159.03; ROI: 0.01946035242290749\n", + "WAG:12803; ACC: 0.45723658517534954; PRF: -329.15; ROI: -0.025708818245723658\n", + "WAG:12803; ACC: 0.4584081855815043; PRF: -391.36; ROI: -0.030567835663516365\n", + "141 ['cards1_tt_form' 'cards2_tt_form']\n", + ">0.026\n", + "WAG:8691; ACC: 0.48981705212288573; PRF: -34.96999999999999; ROI: -0.004023702680934299\n", + "WAG:7939; ACC: 0.48343620103287566; PRF: -84.74999999999997; ROI: -0.01067514800352689\n", + "WAG:12803; ACC: 0.4414590330391315; PRF: -754.46; ROI: -0.05892837616183707\n", + "WAG:12803; ACC: 0.4451300476450832; PRF: -715.25; ROI: -0.055865812700148405\n", + "142 ['diff_cards_tt_form']\n", + ">0.027\n", + "WAG:9113; ACC: 0.5019203335893778; PRF: 147.14999999999998; ROI: 0.016147262152968283\n", + "WAG:8514; ACC: 0.4996476391825229; PRF: 126.99999999999997; ROI: 0.014916607939863751\n", + "WAG:12803; ACC: 0.4530969304069359; PRF: -570.31; ROI: -0.044545028508943214\n", + "WAG:12803; ACC: 0.4541123174256034; PRF: -602.83; ROI: -0.04708505818948684\n", + "143 ['tar_cards1_ts_avg' 'tar_cards2_ts_avg' 'opp_cards1_ts_avg'\n", + " 'opp_cards2_ts_avg']\n", + ">0.026\n", + "WAG:8965; ACC: 0.505521472392638; PRF: 140.54999999999998; ROI: 0.015677635248187393\n", + "WAG:8539; ACC: 0.5026349689659211; PRF: 155.08999999999997; ROI: 0.018162548307764374\n", + "WAG:12803; ACC: 0.45825197219401703; PRF: -498.6400000000001; ROI: -0.038947121768335556\n", + "WAG:12803; ACC: 0.4628602671248926; PRF: -370.59000000000003; ROI: -0.028945559634460674\n", + "144 ['cards1_ts_avg' 'cards2_ts_avg']\n", + ">0.026\n", + "WAG:8990; ACC: 0.5072302558398221; PRF: -38.97999999999998; ROI: -0.004335928809788652\n", + "WAG:8364; ACC: 0.5070540411286466; PRF: -47.180000000000035; ROI: -0.005640841702534677\n", + "WAG:12803; ACC: 0.466375068343357; PRF: -399.75999999999993; ROI: -0.03122393189096305\n", + "WAG:12803; ACC: 0.46731234866828086; PRF: -417.8200000000001; ROI: -0.03263453877997345\n", + "145 ['diff_cards_ts_avg']\n", + ">0.026\n", + "WAG:8692; ACC: 0.5; PRF: 183.27999999999997; ROI: 0.0210860561435803\n", + "WAG:7849; ACC: 0.4887246783029685; PRF: 1.2399999999999807; ROI: 0.0001579819085233763\n", + "WAG:12803; ACC: 0.44856674216980397; PRF: -514.99; ROI: -0.040224166211044285\n", + "WAG:12803; ACC: 0.45325314379442316; PRF: -453.21000000000004; ROI: -0.035398734671561356\n", + "146 ['tar_cards1_ts_form' 'tar_cards2_ts_form' 'opp_cards1_ts_form'\n", + " 'opp_cards2_ts_form']\n", + ">0.026\n", + "WAG:9517; ACC: 0.5090889986340233; PRF: 105.71000000000001; ROI: 0.011107491856677525\n", + "WAG:8574; ACC: 0.5040821087007231; PRF: -92.95000000000003; ROI: -0.010840914392348966\n", + "WAG:12803; ACC: 0.46832773568694835; PRF: -432.63000000000005; ROI: -0.03379129891431696\n", + "WAG:12803; ACC: 0.4673904553620245; PRF: -470.96; ROI: -0.03678512848551121\n", + "147 ['cards1_ts_form' 'cards2_ts_form']\n", + ">0.027\n", + "WAG:9152; ACC: 0.506993006993007; PRF: 214.90000000000003; ROI: 0.023481206293706296\n", + "WAG:8610; ACC: 0.50267131242741; PRF: 228.43; ROI: 0.026530778164924506\n", + "WAG:12803; ACC: 0.4618448801062251; PRF: -360.05000000000007; ROI: -0.028122315082402566\n", + "WAG:12803; ACC: 0.4591892525189409; PRF: -397.46; ROI: -0.03104428649535265\n", + "148 ['diff_cards_ts_form']\n", + ">0.025\n", + "WAG:9092; ACC: 0.4991201055873295; PRF: -11.980000000000018; ROI: -0.001317641882974045\n", + "WAG:8058; ACC: 0.49441548771407295; PRF: -172.14; ROI: -0.021362620997766195\n", + "WAG:12803; ACC: 0.452393970163243; PRF: -620.93; ROI: -0.04849878934624697\n", + "WAG:12803; ACC: 0.4537217839568851; PRF: -648.22; ROI: -0.05063032101851129\n", + "149 ['tar_gksaves1_tt_avg' 'tar_gksaves2_tt_avg' 'opp_gksaves1_tt_avg'\n", + " 'opp_gksaves2_tt_avg']\n", + ">0.026\n", + "WAG:9065; ACC: 0.5056811913954771; PRF: 190.93; ROI: 0.021062327633756206\n", + "WAG:8123; ACC: 0.5020312692355041; PRF: 133.29; ROI: 0.016408962206081495\n", + "WAG:12803; ACC: 0.4658283214871515; PRF: -260.23; ROI: -0.02032570491291104\n", + "WAG:12803; ACC: 0.4648910411622276; PRF: -242.0; ROI: -0.018901819885964226\n", + "150 ['gksaves1_tt_avg' 'gksaves2_tt_avg']\n", + ">0.026\n", + "WAG:9226; ACC: 0.49642315196184694; PRF: 48.77; ROI: 0.005286147843052244\n", + "WAG:8667; ACC: 0.49428868120456904; PRF: 118.13; ROI: 0.013629860389985\n", + "WAG:12803; ACC: 0.45614309146293835; PRF: -463.63; ROI: -0.036212606420370226\n", + "WAG:12803; ACC: 0.45801765211278606; PRF: -434.62; ROI: -0.03394673123486683\n", + "151 ['diff_gksaves_tt_avg']\n", + ">0.026\n", + "WAG:8625; ACC: 0.4943768115942029; PRF: 195.89999999999998; ROI: 0.022713043478260867\n", + "WAG:7974; ACC: 0.49009280160521695; PRF: 44.69; ROI: 0.005604464509656383\n", + "WAG:12803; ACC: 0.4448957275638522; PRF: -439.83000000000004; ROI: -0.03435366710927127\n", + "WAG:12803; ACC: 0.44692650160118724; PRF: -475.07; ROI: -0.03710614699679762\n", + "152 ['tar_gksaves1_tt_form' 'tar_gksaves2_tt_form' 'opp_gksaves1_tt_form'\n", + " 'opp_gksaves2_tt_form']\n", + ">0.027\n", + "WAG:9099; ACC: 0.5056599626332564; PRF: 104.22999999999996; ROI: 0.011455104956588632\n", + "WAG:8430; ACC: 0.5033214709371293; PRF: 140.73; ROI: 0.016693950177935943\n", + "WAG:12803; ACC: 0.46075138639381397; PRF: -387.92; ROI: -0.030299148637038194\n", + "WAG:12803; ACC: 0.464578614387253; PRF: -329.24; ROI: -0.025715847848160587\n", + "153 ['gksaves1_tt_form' 'gksaves2_tt_form']\n", + ">0.026\n", + "WAG:9395; ACC: 0.5046301224055348; PRF: 25.95999999999998; ROI: 0.002763171899946778\n", + "WAG:8719; ACC: 0.5033834155293038; PRF: 125.60999999999999; ROI: 0.01440646863172382\n", + "WAG:12803; ACC: 0.46090759978130125; PRF: -563.6800000000001; ROI: -0.0440271811294228\n", + "WAG:12803; ACC: 0.46325080059361085; PRF: -439.87000000000006; ROI: -0.034356791377021016\n", + "154 ['diff_gksaves_tt_form']\n", + ">0.026\n", + "WAG:8746; ACC: 0.4923393551337754; PRF: 143.35000000000002; ROI: 0.01639034987422822\n", + "WAG:8033; ACC: 0.4899788372961534; PRF: 173.82999999999998; ROI: 0.021639487115647952\n", + "WAG:12803; ACC: 0.4513004764508318; PRF: -323.55; ROI: -0.025271420760759198\n", + "WAG:12803; ACC: 0.4517691166132938; PRF: -346.27; ROI: -0.02704600484261501\n", + "155 ['tar_gksaves1_ts_avg' 'tar_gksaves2_ts_avg' 'opp_gksaves1_ts_avg'\n", + " 'opp_gksaves2_ts_avg']\n", + ">0.025\n", + "WAG:9205; ACC: 0.49527430744160783; PRF: 15.669999999999987; ROI: 0.0017023356871265602\n", + "WAG:8262; ACC: 0.49661099007504234; PRF: -8.559999999999988; ROI: -0.0010360687484870477\n", + "WAG:12803; ACC: 0.45754901195032416; PRF: -348.73; ROI: -0.0272381473092244\n", + "WAG:12803; ACC: 0.4566117316254003; PRF: -440.9100000000001; ROI: -0.03443802233851442\n", + "156 ['gksaves1_ts_avg' 'gksaves2_ts_avg']\n", + ">0.028\n", + "WAG:8595; ACC: 0.49331006399069227; PRF: -30.450000000000024; ROI: -0.0035427574171029695\n", + "WAG:7750; ACC: 0.4905806451612903; PRF: 22.600000000000016; ROI: 0.0029161290322580664\n", + "WAG:12803; ACC: 0.4455986878075451; PRF: -605.4099999999999; ROI: -0.047286573459345456\n", + "WAG:12803; ACC: 0.4451300476450832; PRF: -631.09; ROI: -0.049292353354682496\n", + "157 ['diff_gksaves_ts_avg']\n", + ">0.026\n", + "WAG:9224; ACC: 0.5004336513443192; PRF: 158.91; ROI: 0.01722788378143972\n", + "WAG:8328; ACC: 0.494716618635927; PRF: 10.729999999999988; ROI: 0.0012884245917387112\n", + "WAG:12803; ACC: 0.4537217839568851; PRF: -488.15000000000003; ROI: -0.03812778255096462\n", + "WAG:12803; ACC: 0.452393970163243; PRF: -537.95; ROI: -0.042017495899398585\n", + "158 ['tar_gksaves1_ts_form' 'tar_gksaves2_ts_form' 'opp_gksaves1_ts_form'\n", + " 'opp_gksaves2_ts_form']\n", + ">0.026\n", + "WAG:9087; ACC: 0.5094090458897326; PRF: 92.71999999999997; ROI: 0.010203587542643333\n", + "WAG:8121; ACC: 0.5095431597093953; PRF: 85.26999999999998; ROI: 0.010499938431227679\n", + "WAG:12803; ACC: 0.46567210809966414; PRF: -410.18000000000006; ROI: -0.03203780363977193\n", + "WAG:12803; ACC: 0.4612981332500195; PRF: -517.45; ROI: -0.04041630867765368\n", + "159 ['gksaves1_ts_form' 'gksaves2_ts_form']\n", + ">0.026\n", + "WAG:8901; ACC: 0.49578699022581735; PRF: 122.09999999999997; ROI: 0.01371755982473879\n", + "WAG:8335; ACC: 0.4886622675464907; PRF: 13.99999999999999; ROI: 0.0016796640671865614\n", + "WAG:12803; ACC: 0.4517691166132938; PRF: -373.94; ROI: -0.029207217058501912\n", + "WAG:12803; ACC: 0.4508318362883699; PRF: -430.80000000000007; ROI: -0.033648363664766076\n", + "160 ['diff_gksaves_ts_form']\n", + ">0.027\n", + "WAG:9102; ACC: 0.505053834322127; PRF: 94.45; ROI: 0.010376840254889035\n", + "WAG:8194; ACC: 0.5065901879423969; PRF: 60.37; ROI: 0.007367586038564803\n", + "WAG:12803; ACC: 0.46254784034991797; PRF: -370.32; ROI: -0.028924470827149888\n", + "WAG:12803; ACC: 0.4613762399437632; PRF: -434.53; ROI: -0.033939701632429896\n", + "161 ['tar_precision1_tt_avg' 'tar_precision2_tt_avg' 'opp_precision1_tt_avg'\n", + " 'opp_precision2_tt_avg']\n", + ">0.028\n", + "WAG:9212; ACC: 0.4970690403821103; PRF: 9.159999999999972; ROI: 0.000994355188884061\n", + "WAG:8334; ACC: 0.4919606431485481; PRF: -7.030000000000002; ROI: -0.0008435325173986084\n", + "WAG:12803; ACC: 0.4515347965320628; PRF: -581.01; ROI: -0.045380770132000314\n", + "WAG:12803; ACC: 0.4489572756385222; PRF: -634.86; ROI: -0.049586815590096076\n", + "162 ['precision1_tt_avg' 'precision2_tt_avg']\n", + ">0.026\n", + "WAG:8817; ACC: 0.4979017806510151; PRF: 172.07999999999998; ROI: 0.01951684246342293\n", + "WAG:8047; ACC: 0.4945942587299615; PRF: 167.94; ROI: 0.020869889399776315\n", + "WAG:12803; ACC: 0.4528626103257049; PRF: -343.88000000000005; ROI: -0.026859329844567684\n", + "WAG:12803; ACC: 0.45325314379442316; PRF: -424.44000000000005; ROI: -0.033151605092556435\n", + "163 ['diff_precision_tt_avg']\n", + ">0.026\n", + "WAG:9088; ACC: 0.49691901408450706; PRF: 197.10000000000002; ROI: 0.021687940140845074\n", + "WAG:8451; ACC: 0.49769258075967343; PRF: 148.20000000000002; ROI: 0.017536386226482074\n", + "WAG:12803; ACC: 0.4538779973443724; PRF: -482.32000000000005; ROI: -0.03767242052643912\n", + "WAG:12803; ACC: 0.4591892525189409; PRF: -357.63000000000005; ROI: -0.027933296883542923\n", + "164 ['tar_precision1_tt_form' 'tar_precision2_tt_form'\n", + " 'opp_precision1_tt_form' 'opp_precision2_tt_form']\n", + ">0.026\n", + "WAG:9158; ACC: 0.5065516488316226; PRF: 161.43; ROI: 0.017627211181480675\n", + "WAG:8591; ACC: 0.5028518216738447; PRF: 35.65999999999998; ROI: 0.004150855546502151\n", + "WAG:12803; ACC: 0.45934546590642816; PRF: -438.8500000000001; ROI: -0.03427712254940249\n", + "WAG:12803; ACC: 0.46379754744981644; PRF: -363.83000000000004; ROI: -0.028417558384753575\n", + "165 ['precision1_tt_form' 'precision2_tt_form']\n", + ">0.027\n", + "WAG:9293; ACC: 0.49768643064672335; PRF: 128.51999999999998; ROI: 0.013829764338749594\n", + "WAG:8256; ACC: 0.4899467054263566; PRF: 10.719999999999997; ROI: 0.0012984496124031004\n", + "WAG:12803; ACC: 0.45465906428180897; PRF: -521.6800000000001; ROI: -0.040746699992189335\n", + "WAG:12803; ACC: 0.4542685308130907; PRF: -467.61; ROI: -0.03652347106146997\n", + "166 ['diff_precision_tt_form']\n", + ">0.028\n", + "WAG:8564; ACC: 0.4865716954694068; PRF: -8.480000000000025; ROI: -0.0009901914992993957\n", + "WAG:8302; ACC: 0.4790411948927969; PRF: 69.69999999999996; ROI: 0.008395567333172725\n", + "WAG:12803; ACC: 0.44395844723892836; PRF: -439.45000000000005; ROI: -0.03432398656564868\n", + "WAG:12803; ACC: 0.4438022338514411; PRF: -514.2; ROI: -0.0401624619229868\n", + "167 ['tar_precision1_ts_avg' 'tar_precision2_ts_avg' 'opp_precision1_ts_avg'\n", + " 'opp_precision2_ts_avg']\n", + ">0.026\n", + "WAG:8973; ACC: 0.49983283182881977; PRF: 195.93999999999997; ROI: 0.021836620974033206\n", + "WAG:8118; ACC: 0.49827543729982754; PRF: 161.3; ROI: 0.019869425966986945\n", + "WAG:12803; ACC: 0.4562993048504257; PRF: -296.03; ROI: -0.02312192454893384\n", + "WAG:12803; ACC: 0.4584081855815043; PRF: -260.69; ROI: -0.020361633992033116\n", + "168 ['precision1_ts_avg' 'precision2_ts_avg']\n", + ">0.028\n", + "WAG:9217; ACC: 0.5062384723879787; PRF: 253.54999999999995; ROI: 0.027508950851687097\n", + "WAG:8665; ACC: 0.5052510098095787; PRF: 265.06; ROI: 0.030589728793998846\n", + "WAG:12803; ACC: 0.45825197219401703; PRF: -407.57000000000005; ROI: -0.03183394516910099\n", + "WAG:12803; ACC: 0.4627040537374053; PRF: -275.49; ROI: -0.021517613059439195\n", + "169 ['diff_precision_ts_avg']\n", + ">0.026\n", + "WAG:8744; ACC: 0.49359560841720035; PRF: 142.63; ROI: 0.016311756633119852\n", + "WAG:7970; ACC: 0.48720200752823084; PRF: 66.24999999999999; ROI: 0.00831242158092848\n", + "WAG:12803; ACC: 0.44848863547606027; PRF: -497.84000000000003; ROI: -0.038884636413340626\n", + "WAG:12803; ACC: 0.44692650160118724; PRF: -562.04; ROI: -0.0438990861516832\n", + "170 ['tar_precision1_ts_form' 'tar_precision2_ts_form'\n", + " 'opp_precision1_ts_form' 'opp_precision2_ts_form']\n", + ">0.026\n", + "WAG:9166; ACC: 0.5017455814968361; PRF: -21.26000000000001; ROI: -0.0023194414139210136\n", + "WAG:8217; ACC: 0.5024948277960326; PRF: -94.47000000000003; ROI: -0.011496896677619573\n", + "WAG:12803; ACC: 0.46309458720612356; PRF: -382.1400000000001; ROI: -0.029847691947199884\n", + "WAG:12803; ACC: 0.4615324533312505; PRF: -434.37000000000006; ROI: -0.03392720456143092\n", + "171 ['precision1_ts_form' 'precision2_ts_form']\n", + ">0.027\n", + "WAG:9177; ACC: 0.4968944099378882; PRF: 36.17999999999994; ROI: 0.00394246485779666\n", + "WAG:8401; ACC: 0.4977978812046185; PRF: -22.130000000000017; ROI: -0.002634210213069875\n", + "WAG:12803; ACC: 0.45036319612590797; PRF: -675.96; ROI: -0.05279700070296025\n", + "WAG:12803; ACC: 0.45434663750683435; PRF: -589.01; ROI: -0.04600562368194954\n", + "172 ['diff_precision_ts_form']\n", + ">0.027\n", + "WAG:9054; ACC: 0.49801192842942343; PRF: 179.28999999999994; ROI: 0.019802297327148215\n", + "WAG:8263; ACC: 0.4940094396708217; PRF: 121.21000000000004; ROI: 0.014669006414135306\n", + "WAG:12803; ACC: 0.44926970241349684; PRF: -506.65000000000003; ROI: -0.039572756385222216\n", + "WAG:12803; ACC: 0.44872295555729125; PRF: -513.6800000000001; ROI: -0.04012184644224011\n" ] } ], "source": [ "classes=['w1', 'wx', 'w2','sch0','sch1','sch2','sch3','sch4','sch5','sch6', 'sca0','sca1','sca2','sca3','sca4','sca5','sca6','gd-6','gd-5','gd-4','gd-3','gd-2','gd-1','gd0','gd1','gd2','gd3','gd4','gd5','gd6']\n", - "#runs=[]\n", + "runs=[]\n", "start=23\n", "c=0\n", "for cols in COLUMNS:\n", " current_run={'n':c, 'cols':cols}\n", - " #if c<=52 or c>53:\n", + " #if c<=20: # or c>53:\n", " # c+=1\n", " # continue\n", " print(c, cols)\n", " df=df_all[np.hstack([INF,CATEGORICAL,MINIMUM,cols])]\n", " #print(len(df.index))\n", - " df_info, data, labels = prepare_df(df, na_way='zero')\n", + " df_info, data, labels = prepare_df(df, na_way='MEAN')\n", " current_run=evaluate_feature(data, labels, df_info, current_run)\n", " runs.append(current_run)\n", " pd.DataFrame(runs).to_csv('data/features_evaluated.csv', index=False)\n", @@ -257,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -335,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 216, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -405,7 +709,7 @@ }, { "cell_type": "code", - "execution_count": 219, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ diff --git a/sofa.ipynb b/sofa.ipynb index f49fa8b..c85042c 100644 --- a/sofa.ipynb +++ b/sofa.ipynb @@ -28,9 +28,17 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n %reload_ext autoreload\n" + ] + } + ], "source": [ "import os\n", "import pandas as pd\n", @@ -68,27 +76,107 @@ "#df=dp._load_data()" ] }, + { + "source": [ + "## Today" + ], + "cell_type": "markdown", + "metadata": {} + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "dp=SofaDataProvider(today=True)\n", + "df=dp._load_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ - "Empty DataFrame\n", - "Columns: [awayScoreHT, country, country_id, ds, homeScoreHT, liga, mid, round, sc1, sc2, t1, t2, tid1, tid2, winner, formation_h, formation_a, home_formation, away_formation, graph1, graph2, vote_home, vote_draw, vote_away, pop_r, possession1, shont1, shofft1, corners1, offsides1, fouls1, cards1, gksaves1, precision1, possession2, shont2, shofft2, corners2, offsides2, fouls2, cards2, gksaves2, precision2]\n", - "Index: []" + " awayScoreHT country country_id ds \\\n", + "0 NaN south-america 40 2021-01-30 20:00:00+00:00 \n", + "1 NaN england 15 2021-01-30 17:30:00+00:00 \n", + "2 NaN england 15 2021-01-30 20:00:00+00:00 \n", + "3 NaN england 15 2021-01-31 12:00:00+00:00 \n", + "4 NaN spain 42 2021-01-30 17:30:00+00:00 \n", + ".. ... ... ... ... \n", + "75 NaN romania 34 2021-01-30 18:15:00+00:00 \n", + "76 NaN romania 34 2021-01-31 10:00:00+00:00 \n", + "77 NaN romania 34 2021-01-31 12:00:00+00:00 \n", + "78 NaN uruguay 47 2021-01-30 21:00:00+00:00 \n", + "79 NaN uruguay 47 2021-01-31 00:00:00+00:00 \n", + "\n", + " homeScoreHT liga mid round sc1 sc2 \\\n", + "0 NaN conmebol-libertadores 9282231 1 NaN NaN \n", + "1 NaN premier-league 8897030 21 NaN NaN \n", + "2 NaN premier-league 8897023 21 NaN NaN \n", + "3 NaN premier-league 8897050 21 NaN NaN \n", + "4 NaN laliga 8966530 21 NaN NaN \n", + ".. ... ... ... ... ... ... \n", + "75 NaN liga-i 8849141 20 NaN NaN \n", + "76 NaN liga-i 8849243 20 NaN NaN \n", + "77 NaN liga-i 8849250 20 NaN NaN \n", + "78 NaN primera-division-clausura 9305553 3 NaN NaN \n", + "79 NaN primera-division-clausura 9305554 3 NaN NaN \n", + "\n", + " t1 t2 tid1 tid2 winner formation_h \\\n", + "0 palmeiras santos 761 712 draw 4-4-2 \n", + "1 arsenal manchester united 240 226 draw 4-2-3-1 \n", + "2 southampton aston villa 247 96 draw 4-4-2 \n", + "3 chelsea burnley 4 3 draw 4-3-3 \n", + "4 valencia elche cf 101 144 draw 4-4-2 \n", + ".. ... ... ... ... ... ... \n", + "75 fcsb csm politehnica iashi 607 636 draw NaN \n", + "76 fc botosani fc hermannstadt 499 1499 draw NaN \n", + "77 astra giurgiu fc viitorul constanta 627 594 draw NaN \n", + "78 deportivo maldonado rentistas 1682 1683 draw NaN \n", + "79 nacional montevideo wanderers 841 344 draw NaN \n", + "\n", + " formation_a home_formation away_formation vote_home vote_draw \\\n", + "0 4-4-2 20.0 20.0 0.436580 0.177032 \n", + "1 4-2-3-1 14.0 14.0 0.324676 0.198349 \n", + "2 4-2-3-1 20.0 14.0 0.402716 0.313163 \n", + "3 4-4-2 18.0 20.0 0.796923 0.130741 \n", + "4 5-4-1 20.0 24.0 0.689419 0.250863 \n", + ".. ... ... ... ... ... \n", + "75 NaN NaN NaN 0.767565 0.193616 \n", + "76 NaN NaN NaN 0.618750 0.303125 \n", + "77 NaN NaN NaN 0.320000 0.306667 \n", + "78 NaN NaN NaN 0.189024 0.457317 \n", + "79 NaN NaN NaN 0.561620 0.304577 \n", + "\n", + " vote_away votes y pop_r \n", + "0 0.386388 43094 2021 4.0 \n", + "1 0.476975 72312 2021 4.0 \n", + "2 0.284121 27168 2021 4.0 \n", + "3 0.072336 13064 2021 2.0 \n", + "4 0.059718 22020 2021 3.0 \n", + ".. ... ... ... ... \n", + "75 0.038819 6234 2021 1.0 \n", + "76 0.078125 320 2021 NaN \n", + "77 0.373333 225 2021 NaN \n", + "78 0.353659 328 2021 NaN \n", + "79 0.133803 568 2021 NaN \n", + "\n", + "[80 rows x 25 columns]" ], - "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
awayScoreHTcountrycountry_iddshomeScoreHTligamidroundsc1sc2t1t2tid1tid2winnerformation_hformation_ahome_formationaway_formationgraph1graph2vote_homevote_drawvote_awaypop_rpossession1shont1shofft1corners1offsides1fouls1cards1gksaves1precision1possession2shont2shofft2corners2offsides2fouls2cards2gksaves2precision2
\n
" + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
awayScoreHTcountrycountry_iddshomeScoreHTligamidroundsc1sc2t1t2tid1tid2winnerformation_hformation_ahome_formationaway_formationvote_homevote_drawvote_awayvotesypop_r
0NaNsouth-america402021-01-30 20:00:00+00:00NaNconmebol-libertadores92822311NaNNaNpalmeirassantos761712draw4-4-24-4-220.020.00.4365800.1770320.3863884309420214.0
1NaNengland152021-01-30 17:30:00+00:00NaNpremier-league889703021NaNNaNarsenalmanchester united240226draw4-2-3-14-2-3-114.014.00.3246760.1983490.4769757231220214.0
2NaNengland152021-01-30 20:00:00+00:00NaNpremier-league889702321NaNNaNsouthamptonaston villa24796draw4-4-24-2-3-120.014.00.4027160.3131630.2841212716820214.0
3NaNengland152021-01-31 12:00:00+00:00NaNpremier-league889705021NaNNaNchelseaburnley43draw4-3-34-4-218.020.00.7969230.1307410.0723361306420212.0
4NaNspain422021-01-30 17:30:00+00:00NaNlaliga896653021NaNNaNvalenciaelche cf101144draw4-4-25-4-120.024.00.6894190.2508630.0597182202020213.0
..............................................................................
75NaNromania342021-01-30 18:15:00+00:00NaNliga-i884914120NaNNaNfcsbcsm politehnica iashi607636drawNaNNaNNaNNaN0.7675650.1936160.038819623420211.0
76NaNromania342021-01-31 10:00:00+00:00NaNliga-i884924320NaNNaNfc botosanifc hermannstadt4991499drawNaNNaNNaNNaN0.6187500.3031250.0781253202021NaN
77NaNromania342021-01-31 12:00:00+00:00NaNliga-i884925020NaNNaNastra giurgiufc viitorul constanta627594drawNaNNaNNaNNaN0.3200000.3066670.3733332252021NaN
78NaNuruguay472021-01-30 21:00:00+00:00NaNprimera-division-clausura93055533NaNNaNdeportivo maldonadorentistas16821683drawNaNNaNNaNNaN0.1890240.4573170.3536593282021NaN
79NaNuruguay472021-01-31 00:00:00+00:00NaNprimera-division-clausura93055543NaNNaNnacionalmontevideo wanderers841344drawNaNNaNNaNNaN0.5616200.3045770.1338035682021NaN
\n

80 rows × 25 columns

\n
" }, "metadata": {}, - "execution_count": 4 + "execution_count": 6 } ], "source": [ - "df[df.country=='iceland']" + "df" ] }, {