parent
7ba19c48d4
commit
e0217a2c2e
@ -0,0 +1,132 @@
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
from pyecharts import options as opts
|
||||
from pyecharts.charts import Map
|
||||
from pyecharts.charts import Timeline
|
||||
|
||||
# 性别数据爬取
|
||||
url = 'http://www.stats.gov.cn/tjsj/zxfb/202105/t20210510_1817181.html'
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}
|
||||
cnagedf = pd.read_html(url)[1]
|
||||
cnagedf.columns = cnagedf.iloc[1].values
|
||||
cnagedf = cnagedf.drop([0, 1, 2, 6]).reset_index(drop=True)
|
||||
# matplotlib饼图绘制
|
||||
explo = [0, 0, 0.1]
|
||||
plt.figure(figsize=(8, 6))
|
||||
plt.rcParams.update({'font.family': 'Microsoft YaHei'})
|
||||
plt.title('中国人口年龄分布饼图')
|
||||
plt.pie(cnagedf['人口数'], labels=cnagedf['年龄'], explode=explo, shadow=True, autopct='%1.2f%%')
|
||||
plt.tight_layout()
|
||||
plt.show()
|
||||
|
||||
###第七次不同省份总人口
|
||||
def an1():
|
||||
name = data['省份'].tolist()[1:]
|
||||
value = data['2020年第七次人口普查'].tolist()[1:]
|
||||
provinces = [i.replace("\u3000","") for i in name]
|
||||
#value = [int(int(i)/10000) for i in value]
|
||||
print(provinces)
|
||||
print(value)
|
||||
c = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第七次不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
).render(path="第七次不同省份总人口.html")
|
||||
|
||||
###1953~2021年不同省份总人口
|
||||
def an2():
|
||||
name = data['省份'].tolist()[1:]
|
||||
value1 = data['1953年第一次人口普查'].tolist()[1:]
|
||||
value2 = data['1964年第二次人口普查'].tolist()[1:]
|
||||
value3 = data['1982年第三次人口普查'].tolist()[1:]
|
||||
value4 = data['1990年第四次人口普查'].tolist()[1:]
|
||||
value5 = data['2000年第五次人口普查'].tolist()[1:]
|
||||
value6 = data['2010年第六次人口普查'].tolist()[1:]
|
||||
value7 = data['2020年第七次人口普查'].tolist()[1:]
|
||||
provinces = [i.replace("\u3000","") for i in name]
|
||||
#value = [int(int(i)/10000) for i in value]
|
||||
print(provinces)
|
||||
|
||||
|
||||
t = Timeline()
|
||||
c1 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value1)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第一次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c1, "第一次人口普查不同省份总人口")
|
||||
|
||||
c2 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value2)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第二次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c2, "第二次人口普查不同省份总人口")
|
||||
|
||||
c3 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value3)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第三次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c3, "第三次人口普查不同省份总人口")
|
||||
|
||||
c4 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value4)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第四次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c4, "第四次人口普查不同省份总人口")
|
||||
|
||||
c5 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value5)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第五次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c5, "第五次人口普查不同省份总人口")
|
||||
|
||||
c6 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value6)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第六次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c6, "第六次人口普查不同省份总人口")
|
||||
|
||||
c7 = (
|
||||
Map()
|
||||
.add("", [list(z) for z in zip(provinces, value7)], "china")
|
||||
.set_global_opts(
|
||||
title_opts=opts.TitleOpts(title="第七次人口普查不同省份总人口"),
|
||||
visualmap_opts=opts.VisualMapOpts(max_=130000000, split_number=8, is_piecewise=True),
|
||||
)
|
||||
)
|
||||
t.add(c7,"第七次人口普查不同省份总人口")
|
||||
|
||||
t.render(path="1953~2021年不同省份总人口.html")
|
||||
|
||||
datafile = u'七次人口普查数据.xlsx'
|
||||
data = pd.read_excel(datafile)
|
||||
|
||||
an1()
|
||||
an2()
|
Loading…
Reference in new issue