大家好,我是 👉【Python当打之年(点击跳转)】
本期利用 python 分析一下「第七次全国人口普查数据」 ,看看我国各地区分口分布、年龄构成、性别构成以及各地区搜教育程度情况 等等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。
概要:
涉及到的库:
import pandas as pd
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import Pie
from pyecharts.charts import Map
from pyecharts.charts import PictorialBar
from pyecharts.charts import Sankey
from pyecharts.charts import Map3D
from pyecharts.globals import ChartType
from pyecharts.commons.utils import JsCode
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')
df1 = pd.read_excel('./data/各地区15岁及以上人口平均受教育年限.xlsx')
df2 = pd.read_excel('./data/各地区每10万人口中拥有的各类受教育程度人数.xlsx')
df3 = pd.read_excel('./data/各地区人口.xlsx')
df4 = pd.read_excel('./data/各地区人口年龄构成.xlsx')
df5 = pd.read_excel('./data/各地区性别构成.xlsx')
df6 = pd.read_excel('./data/全国人口年龄构成.xlsx')
各地区15岁及以上人口平均受教育年限:
各地区每10万人口中拥有的各类受教育程度人数:
各地区人口:
各地区人口年龄构成:
各地区性别构成:
全国人口年龄构成:
def get_map3d():
map3d = (
Map3D()
.add_schema(
map3d_label=opts.Map3DLabelOpts(
is_show=False
),
emphasis_label_opts=opts.LabelOpts(is_show=False),
light_opts=opts.Map3DLightOpts(
main_shadow_quality='high',
is_main_shadow=True,
main_intensity=1,
main_alpha=30,
),
post_effect_opts=opts.Map3DPostEffectOpts(
is_enable=True,
is_ssao_enable=True,
ssao_radius=1,
ssao_intensity=1
)
)
.add(
series_name="",
data_pair=new_area_data,
type_=ChartType.BAR3D,
shading="lambert",
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='1-全国各省人口统计三维地图',
),
visualmap_opts=opts.VisualMapOpts(
is_show=False,
pos_left='10%',
pos_bottom='10%',
range_color=range_color
),
)
)
return map3d
def get_map():
m = (
Map()
.add('',
data,
'china',
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='2-全国各地区人口数量分布地图',
),
legend_opts=opts.LegendOpts(is_show=False),
visualmap_opts=opts.VisualMapOpts(
range_color=range_color,
pos_bottom='10%',
pos_left='20%'
),
)
)
return m
def get_sankey():
sankey = (
Sankey()
.add(
"sankey",
nodes,
links,
pos_top='10%',
node_width=50,
node_gap=10,
node_align='justify',
focus_node_adjacency=True,
linestyle_opt=opts.LineStyleOpts(opacity=0.6, curve=0.5, color="source"),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='4-全国总人口性别和地区分布'
)
)
)
return sankey
def get_bar():
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis("销量",y_data1)
.set_global_opts(
title_opts=opts.TitleOpts(
title='5-奥迪全系销量及裸车价格',
pos_top='1%',
pos_left="center",
title_textstyle_opts=opts.TextStyleOpts(color='#00838F',font_size=25),
),
)
)
return bar
def get_pie():
pie = (
Pie()
.add(
"",
[list(z) for z in zip(x_data, y_data)],
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='6-全国年龄人口占比饼图',
),
visualmap_opts=opts.VisualMapOpts(
pos_bottom='10%',
pos_left='10%',
is_show=False,
range_color=range_color
)
)
)
return pie
def get_radar():
radar = (
Radar(init_opts=opts.InitOpts(width='1000px', height='600px',bg_color='#CFD8DC')chema(
schema=schemas,
splitarea_opt=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
textstyle_opts=opts.TextStyleOpts(color="#263238"),
)
.add(
series_name="",
data=[datas],
linestyle_opts=opts.LineStyleOpts(color="#CD0000"),
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='7-各项指标平均评分雷达图',
pos_top='1%',
pos_left="center",
title_textstyle_opts=opts.TextStyleOpts(color='#00838F',font_size=25),
),
)
)
return radar
以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享(注明出处)让更多人知道。