在jupyter开发环境中爬取奥林匹克奖牌数据分析完整代码
时间: 2024-10-01 09:04:03 浏览: 35
奥运会数据分析与可视化预测-数据挖掘机器学习与数据分析项目jupyter
5星 · 资源好评率100%
在Jupyter Notebook环境中编写用于爬取奥林匹克奖牌数据并进行分析的Python代码,通常需要几个步骤。首先确保安装了必要的库,如`requests`, `BeautifulSoup`用于网页抓取,以及`pandas`用于数据处理。下面是一个简单的示例,展示了如何获取和初步分析奖牌数据:
```python
# 导入所需库
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 定义网页URL
url = "https://www.sports-reference.com/olympics/countries/all-time.html"
# 发送GET请求
response = requests.get(url)
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 找到包含奖牌信息的表格
table = soup.find('table', {'class': 'wikitable'})
# 提取数据
data = []
rows = table.find_all('tr')
for row in rows[1:]: # 跳过表头
cols = row.find_all('td')
cols_data = [col.text.strip() for col in cols]
data.append(cols_data)
# 将数据转换为DataFrame
df_olympic_medals = pd.DataFrame(data, columns=['Country', 'Total Medals'])
# 数据清洗和预处理(比如去除空值、转换数据类型等)
df_olympic_medals['Total Medals'] = df_olympic_medals['Total Medals'].astype(int)
df_olympic_medals.dropna(inplace=True) # 删除缺失值行
# 数据分析,例如按总奖牌数排序
top_countries = df_olympic_medals.sort_values('Total Medals', ascending=False)
# 输出前几条数据
top_countries.head()
#
阅读全文