import requests_html from requests_html import HTMLSession session=HTMLSession() url='https://www.dxsbb.com/news/7566.html' r=session.get(url) table=r.html.find('tbody>tr') for row in table[:41]: l=row.text.split() s='' for i in l: s=s+'{0:^14}'.format(i) print(s) 数据预处理和可视化分析代码
时间: 2024-03-31 19:35:03 浏览: 292
TAIEX数据:可从https://www.twse.com.tw获取Json原始数据
数据预处理和可视化通常需要不同的代码,我可以为您提供数据预处理代码和可视化代码的范例,供您参考。
数据预处理代码:
1. 导入必要的库
```python
import pandas as pd
import numpy as np
```
2. 读取数据
```python
url = 'https://www.dxsbb.com/news/7566.html'
df = pd.read_html(url)[0]
```
3. 删除无用列
```python
df.drop(['序号'], axis=1, inplace=True)
```
4. 对数据进行清洗和处理
```python
# 将字符串转换为浮点数
df['总分'] = df['总分'].astype(float)
df['语文'] = df['语文'].astype(float)
df['数学'] = df['数学'].astype(float)
df['英语'] = df['英语'].astype(float)
# 计算平均分
df['平均分'] = df[['语文', '数学', '英语']].mean(axis=1)
# 计算总分排名和平均分排名
df['总分排名'] = df['总分'].rank(ascending=False)
df['平均分排名'] = df['平均分'].rank(ascending=False)
```
5. 输出处理后的数据
```python
print(df.head())
```
可视化代码:
1. 导入必要的库
```python
import matplotlib.pyplot as plt
import seaborn as sns
```
2. 绘制柱状图
```python
# 绘制总分排名前10名的柱状图
top10_total = df.sort_values('总分排名').head(10)
sns.barplot(x='姓名', y='总分', data=top10_total)
plt.title('Total Score Top 10')
plt.xlabel('Name')
plt.ylabel('Total Score')
plt.show()
```
3. 绘制折线图
```python
# 绘制平均分排名前10名的折线图
top10_avg = df.sort_values('平均分排名').head(10)
sns.lineplot(x='姓名', y='平均分', data=top10_avg, marker='o')
plt.title('Average Score Top 10')
plt.xlabel('Name')
plt.ylabel('Average Score')
plt.show()
```
以上代码仅为范例,具体代码需要根据具体的数据和需求进行修改和调整。
阅读全文