尝试与Seaborn进行分配时遇到错误。不知道是什么导致了问题。 TypeError说“ isnan”,因此我排除了所有NULL,并确保将所有列的数据类型从object更改为float或datetime。
TypeError:输入类型不支持ufunc'isnan',并且根据强制转换规则“ safe”,不能将输入安全地强制转换为任何受支持的类型
dfs = []
url = 'http://www.ironman.com/triathlon/events/americas/ironman/world-championship/results.aspx?p={}&race=worldchampionship&rd=20181013&agegroup=Pro&sex=M&y=2018&ps=20#axzz5VRWzxmt3'
for i in range(1,4):
dframe = pd.read_html(url.format(i),header = None)[0]
dfs.append(dframe)
ironmandf = pd.concat(dfs)
finishersdf = ironmandf[~ironmandf['Finish'].isin(['DNF'])]
finishersdf['Swim'] = pd.to_timedelta(finishersdf['Swim'])
finishersdf['Bike'] = pd.to_timedelta(finishersdf['Bike'])
finishersdf['Run'] = pd.to_timedelta(finishersdf['Run'])
finishersdf['Name'] = finishersdf['Name'].apply(pd.to_numeric, errors='coerce')
finishersdf['Country'] = finishersdf['Country'].apply(pd.to_numeric, errors='coerce')
finishersdf['Finish'] = pd.to_timedelta(finishersdf['Finish'])
finishersdf['Overall Rank'] = pd.to_numeric(finishersdf['Overall Rank'])
finishersdf['Gender Rank'] = pd.to_numeric(finishersdf['Gender Rank'])
finishersdf['Div Rank'] = pd.to_numeric(finishersdf['Div Rank'])
finishersdf['Points'] = pd.to_numeric(finishersdf['Points'])
sns.distplot(finishersdf['Swim'], hist=True,color = 'blue')