中国产业结构变化分析-Pyecharts动态玫瑰图
` 接上篇:https://blog.csdn.net/m0_55099488/article/details/124409442?spm=1001.2014.3001.5501中国GDP的增长主要来源哪个产业的增长呢?让我们继续往下分析
文章目录
数据准备
数据来源聚会数据https://gdp.gotohui.com/word
提示:以下是本篇文章正文内容,下面案例可供参考
一、导包+加载数据
from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Pie,Timeline
import numpy as np
import pandas as pd
# 加载数据
df_path ='./GDP数据分析.xlsx'
df_china = pd.read_excel(df_path,'中国产业结构',index_col=0)
df_china.head()
二、数据处理
`提示:如何提取每年的三大产业数据,并让三大产业做索引,年做列?
# 只提取后面三列
df_china_l= df_china.loc[:,['第三产业','第二产业','第一产业']]
# 行列转置,重新生成一个二维表
df_china_T = pd.DataFrame(
df_china_l.values.T, # 对值进行转置
columns=df_china_l.index, #列名使用原来的索引
index = df_china_l.columns #索引只用原来的列名
)
df_china_T
三、实现过程
1.先画第一个饼图-1960年
# 先取第一列1960
df_china_year =df_china_T[1960]
#数据转换成二维列表[['第三产业',468.1],['第二产业', 648.2]....]
index_list = df_china_year.index.to_list() #将索引转换成列表
vale_list = list(df_china_year.values) #将目标列也转换成列表
# 打包为元组后依次用循环遍历=>列表推导式
df_china_year_list = [list(d) for d in zip(index_list,vale_list)]
df_china_year_list
#绘制图形
pie_y = (
Pie()
.add(
"",
df_china_year_list,
rosetype="radius",
radius=["30%", "55%"],
)
.set_global_opts(title_opts=opts.TitleOpts("三大产业分布"))
)
pie_y.render_notebook()
2. 循环画所有的饼图并add到时间轴类上
代码如下(示例):
tl1 = Timeline() #时间轮播类实例化
for i in range(1960, 2022):
# 取每一行然后数据处理
index_list = df_china_T[i].index.to_list() #将索引转换成列表
vale_list = list(df_china_T[i].values) #将目标列也转换成列表
df_china_year_list= [list(d) for d in zip(index_list,vale_list)]
pie = (
Pie()
.add(
"中国产业结构",
df_china_year_list,
rosetype="radius",
radius=["30%", "55%"],
)
.set_global_opts(title_opts=opts.TitleOpts("中国{}年产业结构".format(i)))
)
tl1.add(pie, "{}年".format(i))
tl1.add_schema(is_auto_play=False, play_interval=500) #5秒自动播放
# 循环全部结束后
tl1.render_notebook()
总结
很明显啦,是第三产业的快速增长拉动的