How to create data using read_html using pandas ?

Dec. 10, 2022, 4:13 p.m.


...

Most centuries in ODI cricket. Creating dataset for kaggle using pandas.
I have used ESPN data for Centuries in ODI Cricket.

Most centuries in ODI cricket. Creating dataset for kaggle using pandas.
I have used ESPN data for Centuries in ODI Cricket.

import pandas as pd
df = pd.read_html('https://stats.espncricinfo.com/ci/content/records/282935.html')
odi_centuries = df[0]
odi_centuries.rename(columns = {'NO':'Not_Out','HS':'High_Score'}, inplace = True)
odi_centuries
odi_centuries = odi_centuries.drop('BF', axis=1)
odi_centuries['High_Score'] = odi_centuries['High_Score'].apply(lambda x: x.split('*')[0])
odi_centuries['4s'] = odi_centuries['4s'].apply(lambda x: x.split('+')[0])
odi_centuries['6s'] = odi_centuries['6s'].apply(lambda x: x.split('+')[0])
odi_centuries
#Changing the data type to numeric
odi_centuries['6s'] = pd.to_numeric(odi_centuries['6s'])
odi_centuries['4s'] = pd.to_numeric(odi_centuries['4s'])
odi_centuries['0'] = pd.to_numeric(odi_centuries['0'])
odi_centuries['50'] = pd.to_numeric(odi_centuries['50'])
odi_centuries['100'] = pd.to_numeric(odi_centuries['100'])

#Calculating Experience
odi_centuries['Debut Year'] = odi_centuries['Span'].apply(lambda x: x.split('-')[0])
odi_centuries['Last Match in Year'] = odi_centuries['Span'].apply(lambda x: x.split('-')[1])
odi_centuries['Debut Year'] = pd.to_numeric(odi_centuries['Debut Year'])
odi_centuries['Last Match in Year'] = pd.to_numeric(odi_centuries['Last Match in Year'])
odi_centuries['Experience'] = odi_centuries['Last Match in Year'] -odi_centuries['Debut Year'] 
odi_centuries
odi_centuries.to_csv('Most centuries in ODI.csv')



Tags


Comments