使用Python第三方库Requests,BeautifulSoup,pandas,Matplotlib,pyecharts库分析与统计2022年的全国各省GDP分布情况并数据使数据可视化的代码
时间: 2024-03-26 20:37:47 浏览: 207
好的,以下是使用Python第三方库Requests,BeautifulSoup,pandas,Matplotlib,pyecharts库分析与统计2022年的全国各省GDP分布情况并数据使数据可视化的代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import matplotlib.pyplot as plt
from pyecharts.charts import Map, Geo
from pyecharts import options as opts
# 获取数据
url = 'http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2022/index.html'
response = requests.get(url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find_all('table')[0]
df = pd.read_html(str(table), header=0)[0]
df = df[['行政区划代码', '名称', '地区生产总值(亿元)']]
df.columns = ['code', 'province', 'gdp']
df['code'] = df['code'].apply(lambda x: x[:2])
df = df.groupby(['code', 'province']).sum().reset_index()
# 绘制地图
map_data = [(row['province'], row['gdp']) for _, row in df.iterrows()]
map_chart = Map()
map_chart.add('2022年全国各省GDP分布情况', map_data, 'china')
map_chart.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_=max(df['gdp']), is_piecewise=True),
title_opts=opts.TitleOpts(title='2022年全国各省GDP分布情况'),
)
map_chart.render('map.html')
# 绘制地理图
geo_data = [(row['province'], row['gdp']) for _, row in df.iterrows()]
geo_chart = Geo()
geo_chart.add_schema(maptype='china')
geo_chart.add('2022年全国各省GDP分布情况', geo_data)
geo_chart.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_=max(df['gdp']), is_piecewise=True),
title_opts=opts.TitleOpts(title='2022年全国各省GDP分布情况'),
)
geo_chart.render('geo.html')
# 绘制柱状图
bar_data = df.sort_values(by='gdp', ascending=False).head(10)
plt.bar(bar_data['province'], bar_data['gdp'])
plt.xticks(rotation=45)
plt.title('2022年全国各省GDP排名前十')
plt.savefig('bar.png')
# 绘制折线图
line_data = df.groupby('code').sum().reset_index().sort_values(by='gdp', ascending=False)
plt.plot(line_data['code'], line_data['gdp'])
plt.xticks(rotation=45)
plt.title('2022年全国各省GDP折线图')
plt.savefig('line.png')
```
这段代码会爬取国家统计局的官网,获取2022年全国各省GDP数据,并使用pyecharts库绘制地图和地理图,使用Matplotlib库绘制柱状图和折线图。最终结果会生成4个文件:map.html、geo.html、bar.png和line.png。您可以在浏览器中打开map.html和geo.html来查看地图和地理图,也可以在本地查看生成的图片bar.png和line.png。
阅读全文