Compare commits

...

5 Commits

@ -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()

@ -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()

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save